1 SyncEvolution 1.0.1 -> 1.1, 26.10.2010
2 ======================================
4 An incremental update, resolving issues where the fixes would have
5 been too intrusive for a 1.0.x release. In particular compatibility
6 with Nokia phones was improved. Some new features were also included
7 (command line options for manipulating items, backends for MeeGo PIM
12 * bug fix in sync-ui: wrong direction of one-way data transfers with devices (BMC #7091)
13 * bug fix in syncevo-dbus-server: incorrect Presence status after config change (BMC #8453)
14 Shows up in sync-ui as "'Sync Now' button active after creating a config while offline".
15 * sync-ui (GTK version): app is now listed as "SyncEvolution (GTK)" under "Office"
16 * Nokia phones: avoid data loss in two-way sync due to X-EVOLUTION-UI-SLOT (BMC #2566)
17 * Nokia phones: alarm times in UTC, sending PHOTO (BMC #1657, #5860)
18 * included all phone templates submitted to syncevolution.org Wiki (BMC #5727)
19 * syncevo-phone-config: set consumerReady in output, more useful for Wiki (BMC #3803)
20 * workaround for D-Bus timeouts in EDS libecal/libebook (BMC #4026)
21 * added generic command line options for importing, exporting, updating, listing
22 and deleting items in the different backends (http://syncevolution.org/blogs/pohly/2010/manipulate-evolution-kcalextendedmkcal-qtcontacts-pim-items-uniform-command-line)
23 * added backends for mKCal and QtContacts (MeeGo PIM storage),
24 meant to be used for manipulating this data on the command line
25 * enhanced D-Bus interface (BMC #3558, #3559, #3560, #3562, #3563, #7761, #7766)
26 * the command line tool now warns when running against a different D-Bus daemon (BMC #3563)
27 * creating and configuring sources in a context (without peer-specific
28 properties) is now supported
29 * improved documentation: README.rst, man page, and --help output
30 * fixed some compile issues (BMC #6367), improved nightly testing
33 SyncEvolution 1.0 -> 1.0.1, 16.07.2010
34 ======================================
36 A bug fix release. The main reason for releasing it is that
37 SyncEvolution 1.0 no longer worked on recent distros (Fedora Core 13,
38 Debian testing) because of a name clash between the Bluez D-Bus
39 utility code and recent glib.
43 * compile fix for FC 13 (and possibly others): use private copy of gdbus (BMC #3556)
45 * sync-ui: prevent overwriting device configs by accident (BMC #3566,1194)
46 Setting up a phone used the template name as config name and overwrote
47 an existing configuration of another phone that was created using that
48 same template. Now the code uses the Bluetooth device name as set on the
49 device and checks for (less likely) collisions. It also sanitizes the
50 name to avoid complicated config names (only relevant when also using
53 * syncevo-dbus-server: accept 'application/vnd.syncml+xml; charset=UTF-8' for starting an HTTP session (BMC #3554)
54 The redundant charset specification was set by the Funambol
55 Thunderbird client. Because of a literal comparison against
56 'application/vnd.syncml+xml' the messages were rejected.
58 * config fix: operations on non-peer configs failed (BMC #3157)
59 When running operations on a non-peer configuration (like --restore @default
60 addressbook), the operation fails with
61 [ERROR] <source name>: type 'select backend' not supported
63 * ZYB.com: service goes away end of June 2010, template removed (BMC #3310)
64 * some build (BMC #2586, BMC #3557) and language updates
67 SyncEvolution 0.9.2 -> 1.0, 11.06.2010
68 ======================================
70 Major new features compared to previous stable release:
71 * synchronize directly with a phone over Bluetooth/OBEX
72 * accept Bluetooth/OBEX connections in cooperation with obexd >= 0.19
73 * run SyncEvolution as a rudimentary HTTP SyncML server
75 The GTK sync-UI can be used to select a paired phone and create a
76 configuration for it based on the bundled configuration templates.
77 Configuration templates are included for Nokia phones; for other
78 phones see the http://syncevolution.org/development/sync-phone HOWTO
79 and check out the Wiki there. Some users have already reported success
80 for Sony Ericsson phones and added setup instructions. New templates
81 from the Wiki can be dropped into ~/.config/syncevolution-templates
82 under an arbitrary file name.
84 Unexpected slow syncs can be detected when running as client (MB
85 #2416) and unless turned off (see "preventSlowSync"), SyncEvolution
86 aborts the session so that the situation can be analyzed. A refresh
87 from client or server might be more suitable. The command line tool
88 provides instructions at the end of its output. The GTK sync-UI
89 points towards its recovery dialog.
91 Automatic synchronization is supported by the syncevo-dbus-server (MB
92 #6378). When that is installed, it will be started as part of a user
93 session and keep running to trigger syncs in the
94 background. Notifications are emitted when syncs start, end or fail
97 Automatic synchronization can be enabled separately for each peer
98 ("autoSync=0/1", off by default), will be done at regular intervals
99 ("autoSyncInterval=30" minutes) when online long enough
100 ("autoSyncDelay=5" minutes). That last option ensures that a) an
101 automatic sync does not attempt to use a network connection unless it
102 was already active and b) hopefully is also around long enough to
105 The Synthesis XML configuration was split up into different parts
106 which are assembled from /usr/share/syncevolution/xml. Files in
107 ~/.config/syncevolution-xml override and extend the default files,
108 which my be useful when adding support for a new phone.
111 * ZYB.com now works thanks to a workaround for anchor handling (MB #2424);
112 only contacts tested because everything else is considered legacy by ZYB.com
113 * Horde: avoid confusing the server with a deviceId that starts like the
114 ones used in old Funambol clients, helps with calendar sync (MB #9347)
115 * Mobical.net (and other, similar services): fix vCalendar 1.0 alarm
116 properties before importing them (MB #10458)
117 * desknow.com works when switching to SyncMLVersion = 1.1
118 * Funambol, Memotoo (and probably others): preserve meeting series when
119 receiving update for detached recurrence (BMC #1916)
122 * addressbook backend: avoid picking CouchDB, second try (MB #7877)
123 * calendar backend: minor fix for change tracking when deleting
124 a single instance of a recurring event
125 * workaround for Evolution 2.30: "timezone cannot be retrieved because it
126 doesn't exist" is triggered incorrectly when importing non-standard
127 timezone definitions because libecal changed an error code (MB #9820)
129 Performance and reliability improvements (MB #7708):
130 * synccompare much faster
131 * database dumps consume less disk space
132 * more intelligent about expiring obsolete session directories
134 * database accesses are reduced in several backends
135 * shorter logs (MB #8092)
136 * message resending helps under unreliable network connectivity ("RetryInterval")
137 * full support for suspend&resume in SyncEvolution client to SyncEvolution or
138 Synthesis server syncs
139 * better handling of certain third-party time zone definitions (BMC #1332)
141 Improved GTK sync-UI:
142 * revised config screen: all in one list where entries can be expanded,
143 integrated setup of sync with other devices
144 * recovery support: restore from backup, unexpected slow sync handling
145 * spinner while network is in use (MB #2229)
146 * interactive password requests (MB #6376)
150 * fixed printing of rejected items (MB #7755)
151 * consistent logging of added/updated/deleted items with short
153 * improved error reporting (textual descriptions instead of plain
154 error codes MB #2069, partial success MB #7755, record and show
155 first ERROR encountered MB #7708)
156 * can create new sources (MB #8424)
157 * runs operations inside daemon and thus avoids conflicts with
158 operations done by other clients; for testing purposes (like
159 running a client which talks to a local server in the daemon) it is
160 still possible to ignore the daemon (--daemon=no, MB #5043)
161 * revised README, now also available as man page (BMC #690)
163 Redesigned and reimplemented D-Bus API, used by sync-UI and command line:
164 * central syncevo-dbus-server controls configurations and sync sessions:
165 http://syncevolution.org/development/direct-synchronization-aka-syncml-server
166 * accepts incoming SyncML connection requests and messages received by
167 independent transport stubs (obexd, HTTP server, ...)
168 * can be used by multiple user interfaces at once
169 * fully documented, see src/dbus/interfaces and http://api.syncevolution.org
170 * no longer depends on dbus-glib with hand-written glue code for C++,
171 instead uses gdbus plus automatic C++ binding generated via C++ templates
173 Revised configuration layout (MB #8048, design document at
174 http://syncevolution.org/development/configuration-handling):
175 * several peer-independent sync and source properties are shared
176 between multiple peers
177 * they can be accessed without selecting a specific peer, by using an
178 empty config name or with the new "@<specific context>" syntax
179 * user interface of command line unchanged
180 * old configurations can be read and written, without causing
181 unwanted slow syncs when moving between stable and unstable
182 SyncEvolution versions
183 * old configurations can be migrated with the "--migrate" command
184 line switch; however, then older SyncEvolution can no longer
185 access them and migrating more than one old configuration causes
186 the second or later configuration to loose its "deviceId" property
187 (which is shared now), causing a slow sync once
188 * config names may contain characters that are not allowed in the
189 file names used for the underlying files; will be replaced with
190 underscores automatically (MB #8350)
193 Upgrading from 0.9.x:
195 * Upgrading and downgrading should work seamlessly when using existing
198 * The new configuration layout is only used when creating new
199 configurations or explicitly invoking "syncevolution --migrate" (see
200 above). Such configs cannot be used by older SyncEvolution releases.
202 * The new "RetryInterval" property causes messages to be resent
203 after 2 minutes (increased from 1 minute in previous 1.0 betas).
204 At least the Funambol server is known to not handle this correctly
205 in all cases (http://funzilla.funambol.com/show_bug.cgi?id=7910).
206 So in the Funambol config template the interval is set to zero,
207 disabling the feature. Disabling the feature must be done manually
208 in existing Funambol configurations.
211 SyncEvolution 1.0 beta 3 -> 1.0 final, 11.06.2010
212 =================================================
214 Bug fixes and new features:
216 * Configuration templates are stored in a single file (BMC #1208).
217 New templates (like something downloaded from http://syncevolution.org/wiki)
218 can be dropped into $HOME/.config/syncevolution-templates using an arbitrary
220 * Progress and per-source status are now also reported and recorded when
221 running in server mode (BMC #1359). There are still several limitations
222 (sync mode not reported, no information about sent/received/processed items
223 while the sync runs, see BMC #2786).
224 * Better handling of certain third-party time zone definitions (BMC #1332).
225 Better logging to track down such problems.
226 * D-Bus server + command line: return error code when failed (BMC #2193)
227 * syncevo-phone-config: simplified command line options, several bug fixes
228 (syntax error, incorrect handling of calendar+todo, BMC #1197)
229 * Revised README, now also available as man page (BMC #690). Conversion of D-Bus API
230 documentation into .html page (BMC #1745).
231 * Funambol, Memotoo (and probably others): preserve meeting series when
232 receiving update for detached recurrence (BMC #1916)
233 * Fix for potential out-of-bounds memory access (BMC #1007).
234 * HTTP server: fix for potential crash when second session was requested while an
235 older one was still running, initial sync was done without libical time zone
236 information and thus may have mismatched times (BMC #2435)
237 * Nokia E55: convert alarm times (BMC #1657). This is done via a new remote rule
238 in /usr/share/syncevolution/xml/remoterules/server/46_E55.xml
239 If another phone needs the same treatment, then copy that file to
240 ~/.config/syncevolution-xml/remoterules/server and edit the <model> element.
241 * GTK GUI: styling fix (BMC #1372), updated toolbar for MeeGo 1.0 (BMC #1970),
242 avoid duplicating configs when selecting a config created by syncevo-phone-config
243 or the command line (BMC #1266), scroll bars for emergency window (BMC #1296),
244 avoid compile problem on Fedora Core 13 due to name collision with system sync()
245 call, updated translations.
248 SyncEvolution 1.0 beta 2 -> beta 3, 20.04.2010
249 ==============================================
251 One more step towards the long awaited 1.0. 0.1 was released over four
252 years ago and the 1.0 cycle started some time last summer. Beta 3 is
253 considered feature complete at this point.
255 Automatic synchronization is supported by the syncevo-dbus-server (MB
256 #6378). When that is installed, it will be started as part of a user
257 session and keep running to trigger syncs in the
258 background. Notifications are emitted when syncs start, end or fail
261 Automatic synchronization can be enabled separately for each peer
262 ("autoSync=0/1", off by default), will be done at regular intervals
263 ("autoSyncInterval=30" minutes) when online long enough
264 ("autoSyncDelay=5" minutes). That last option ensures that a) an
265 automatic sync does not attempt to use a network connection unless it
266 was already active and b) hopefully is also around long enough to
269 Detecting online status depends on ConnMan. Without it, SyncEvolution
270 assumes that the network is available. For Bluetooth it is enough to
273 When SyncEvolution is compiled with a backend sync daemon
274 ("syncevo-dbus-server"), then conceptually that daemon controls the
275 configuration and coordinates manually and automatically started sync
276 sessions. Previously, the command line tool bypassed the daemon by
277 running operations itself. Now it can hand over the command line
278 parameters to the daemon to be executed there ("--daemon=yes", the
279 default if the daemon is available; MB #5043). Command line parameters
280 and output of "syncevolution" are the same as before. Note that the
281 daemon only runs one operation at a time, which delays the command
282 line client when the daemon is busy. For testing purposes (like
283 running a client which talks to a local server in the daemon) it is
284 still possible to ignore the daemon (--daemon=no).
286 Thanks to fixes and improvements in both Synthesis engine and
287 SyncEvolution, suspend and resume are fully supported in client and
288 server (MB #2425). Previously it failed in some cases, as mercilessly
289 exposed by our automated testing. Now all of these tests pass. The
290 HTTP server now also handles message resends by clients correctly.
292 Direct synchronization with older phones (like Sony Ericsson K750i)
293 can be started now by switching to an older version of the SyncML
294 standard ("SyncMLVersion" property, MB #9312). No further
295 interoperability testing with such phones has been done at this
296 time. When acting as client, that same property allows talking to
297 older SyncML servers, like desknow.com.
299 A minor workaround and the right configuration make it possible to
300 synchronize with Nokia N85 and probably also other S60
301 devices. Added a template for "Nokia S60". Also made the template
302 for "Nokia N900" accessible in the GTK GUI.
304 Because determining which configuration works for a phone involves
305 a lot of trial-and-error, the new "syncevo-phone-config" script
306 automates that process.
310 * Mobical.net (and other, similar services): fix vCalendar 1.0 alarm
311 specifications before importing them (MB #10458)
312 * Nokia N900: added a config template for it and disabled the redundant
313 RespURI when using Bluetooth. Preliminary testing shows that this solves
314 some of the issues seen before (MB #10224).
315 * workaround for Evolution 2.30: "timezone cannot be retrieved because it
316 doesn't exist" is triggered incorrectly when importing non-standard
317 timezone definitions because libecal change an error code (MB #9820)
318 * "syncevo-http-server" HTTP server script is included in normal install
319 * syncevolution.org binaries: finally solved the libbluetooth3
320 incompatibility (MB #9289). Binaries of beta 2 crashed on more
321 recent distros because of that.
322 * SyncML client and Bluetooth: a mobile device running SyncEvolution
323 creates a configuration automatically (MB #6175). The peer contacting
324 us has to use the standard SyncEvolution URIs (addressbook, calendar,
326 * command line: when dealing with the shared non-peer part of a config,
327 it checks for properties which are unsuitable only prints
329 * GTK GUI: improved setup of devices, automatic sync switch,
330 some fixes for crashes and other tweaks
331 * Nokia 7210c: send time as UTC instead of relying on time zone
332 information (MB #9907).
333 * command line: setting up a configuration for a "SyncEvolution"
334 server on a client was not possible because the "SyncEvolutionClient"
335 configuration was picked instead (MB #10004). The latter has to
336 be used when configuring a SyncEvolution server to talk to a
337 SyncEvolution client.
338 * restore: no longer updates the time of the backup (MB #9963)
339 * various minor improvements and fixes, see ChangeLog
342 * The new "RetryInterval" property causes messages to be resent
343 after 2 minutes (increased from 1 minute in previous 1.0 betas).
344 At least the Funambol server is known to not handle this correctly
345 in all cases (http://funzilla.funambol.com/show_bug.cgi?id=7910).
346 So in the Funambol config template the interval is set to zero,
347 disabling the feature. Enabling or disabling the feature must
348 be done manually in existing configurations.
350 SyncEvolution 1.0 beta 1 -> beta 2, 23.02.2010
351 ==============================================
353 Several new features and some bug fixing. Despite some open issues
354 (see below), this release is ready for getting packaged in staging
355 areas of distros as replacement for 0.9.2.
357 As before, documentation for 1.0 is only available in the
358 "Development" section of syncevolution.org, including HOWTOs for
359 setting up the HTTP SyncML server and phones manually.
361 Setting up a phone became a bit easier with beta 2, because
362 SyncEvolution is now integrated with the GNOME Bluetooth panel: once a
363 device with SyncML client support is paired, a button offers to bring
364 up the sync-UI and configure or synchronize with that device. We do a
365 fuzzy match against the Bluetooth device name to find a suitable
366 template (not manufacturer/model, because that is not readily
367 available). Still not many (read: hardly any) templates available,
370 The binaries on syncevolution.org are compiled with Bluetooth support.
371 libbluetooth2 or libbluetooth3 should be installed, but are not
372 essential. If there is no suitable version of it, the Bluetooth
373 channel has to be selected manually as part of the syncURL.
375 Unexpected slow syncs are prevented by default, in contrast to beta 1
376 where this feature was available but turned off. When an unexpected
377 slow sync is detected in a client, users have to follow the
378 instructions provided by the command line or sync-ui and choose how to
379 proceed (explicitly request slow sync, refresh from server or client,
380 restore from backup). SyncEvolution as server currently cannot prevent
381 slow syncs, even when initiating the sync with a phone.
383 In preparation for syncing automatically, logdir and database handling
384 was improved considerably. Backups use less disk space because
385 identical files share the same file content via hard links. This also
386 speeds up the synccompare Perl script. Database dumps and the
387 corresponding comparison are delayed until the session really runs,
388 which avoids doing needless work a) when the server a client tries to
389 contact is unreachable or down and b) by only including sources that
390 are really in use during a sync on the server side.
392 The Synthesis XML configuration was split up into different parts
393 which are assembled from /usr/share/syncevolution/xml. Files in
394 ~/.config/syncevolution-xml override and extend the default files,
395 which my be useful when adding support for a new phone.
398 Summary of changes since 1.0 beta 1:
400 * sync-ui: recovery dialog (MB #8050), device setup, config usable with
401 long strings (MB #9278), fixed displaying of source phases during sync
403 * sync-ui + syncevo-dbus-server: integration with Bluez to detect paired
404 devices (MB #9216, MB #7089), select template based on device name (MB #7838),
405 detect network and Bluetooth connectivity (only with ConnMan, MB #7700),
406 passwords stored in GNOME keyring by syncevo-dbus-server are shown with
407 dots in sync-ui (MB #9169)
408 * Evolution addressbook backend: avoid picking CouchDB, second try (MB #7877)
409 * Evolution calendar backend: minor fix for change tracking when deleting
410 a single instance of a recurring event
411 * build fixes: Bluetooth compatibility (MB #9289), use libical _r variant
412 of calls because 0.43 has issues in the normal version, conflict with
413 system libsynthesis and libsmltk (MB #9811)
414 * Horde: avoid confusing the server with a deviceId that starts like the
415 ones used in old Funambol clients, helps with calendar sync (MB #9347)
416 * better reporting when SyncEvolution dies during a sync (only happend once
417 when it wasn't installed properly, but still... MB #9844)
418 * performance improvements: synccompare much faster/database dumps consume
419 less disk space/more intelligent about expiring obsolete session directories
420 and backups/database accesses are reduced in several backends (MB #7708),
421 shorter logs (MB #8092)
422 * slow sync detection: now also works in the case where the client detects
423 an anchor mismatch and enabled by default (MB #2416)
424 * OBEX transport: some error handling changes and removal of polling, now
425 also possible via sync-ui + syncevo-dbus-server (MB #9436)
426 * API changes: SyncSource introduces an "isEmpty" operation which is
427 needed for the slow sync detection
428 * SyncML: split up configuration (MB #7712), increased default message size
429 because the old one might have been too small for large DevInf structures
430 * several fixes for virtual data sources ("calendar+todo"): now works
431 on client side, fixed naming on server (MB #9664), fixed error message
432 for slow sync detection, supported in combination with sync-UI (MB #9535)
433 * fixes for shared configuration layout: finding sessions of peers in
434 non-default context, adding sources affected peers in the same context
435 (MB #9329), wrong context during --configure when using shortcut for peers
436 in non-default context (MB #9338)
439 Known gaps for 1.0 final and beyond:
441 Redesigned and reimplemented D-Bus API, required by sync-UI:
442 - 'syncevolution' command line tool bypasses D-Bus server and runs
443 sync sessions itself (MB #5043)
444 - availability of peers not detected when using NetworkManager
445 (connected for HTTP, paired for Bluetooth; MB #7700)
447 SyncML server in general:
448 - suspend/resume support is untested (MB #2425)
449 - the progress events and statistics reported for a SyncML client
450 are not generated when running as SyncML server, will require
451 a fair amount of refactoring in the Synthesis engine (MB #7709)
454 - a configuration must be created for each peer manually, including
455 a remoteDeviceId value that contains the peer's SyncML device ID
458 OBEX SyncML server ("sync with phones"):
459 - does not support phones which require a SAN 1.0 message (MB #9312)
460 - determining a working configuration for an unknown phone requires
461 a bit of experimenting, which should be automated (MB #9862)
464 - parsing of SAN message is rudimentary and depends on an existing local
465 configuration, needs to be refined depending on which SyncML server software
466 it is meant to work with (MB #6175)
468 Automatic sync (MB #6378):
469 - no support for the various server push notification mechanisms
470 - no intelligent detection of local changes
471 - no regular background sync, development is in progress
473 Upgrading from 1.0 beta 1: moving back and forth should work seamlessly
474 Upgrading from 0.9.x: see under beta 1
477 SyncEvolution 0.9.2 -> 1.0 beta 1, 26.01.2010
478 ==============================================
480 Compared to the current stable release, 0.9.2, this beta release can also:
481 * synchronize directly with a phone over Bluetooth/OBEX
482 * accept Bluetooth/OBEX connections in cooperation with obexd 0.19
483 * run SyncEvolution as a rudimentary HTTP SyncML server
485 These feature were already available in a source-only 1.0 alpha
486 release. For the beta, we fixed some issues (nothing major)
487 and in addition to the source, also make binaries available. As
488 before, we hope to get feedback on where we are going with 1.0 and its
489 SyncML server and direct synchronization features. If you want to get
490 involved, now is a good time because a) there is something which works
491 and b) there is still time to influence the final 1.0, scheduled for
494 Documentation of the new features can be found in the "Development"
495 section (http://syncevolution.org/development) for HOWTOs or ask on
496 the mailing list (http://syncevolution.org/support).
498 Here is a more complete list of features compared to the stable
499 release. The full (and up-to-date) list can be retrieved from the
500 Moblin Bugzilla (MB) issue tracking system with this query:
501 http://bugzilla.moblin.org/showdependencytree.cgi?id=7892&hide_resolved=0
502 For changes compared to the 1.0 alpha please consult the
505 Implemented features are marked with a plus +, open ones with a minus -.
508 + now works thanks to a workaround for anchor handling (MB #2424)
509 - only contacts tested because everything is considered legacy
512 Slow sync handling (MB #2416)
513 + Unexpected slow syncs can be detected when running as client and
514 if configured (see "preventSlowSync"), abort the session so that
515 the situation can be analyzed. A refresh from client or server
516 might be more suitable. Because this required manual intervention
517 by the user, the feature is off by default.
518 - Catching slow syncs does not work yet when running as server and
519 in one corner case in a client.
522 + settings for HTTP servers are now done inside the list of
523 all configs and server templates instead of poping up a
525 + uses the new D-Bus API
526 + no longer uses private gconf key to select default peer,
527 replaced by "defaultPeer" in SyncEvolution config
528 + added recovery features like handling of unexpected slow syncs (MB #2416)
529 - restoring from backup only supported by command line (MB #8050)
530 - spinner to indicate network activity missing (MB #2229)
531 - interactive password request not implemented yet (MB #6376)
534 + fixed printing of rejected items (MB #7755)
535 + improved error reporting (textual descriptions instead of plain
536 error codes MB #2069, partial success MB #7755, record and show
537 first ERROR encountered MB #7708)
538 + can create new sources (MB #8424)
540 Redesigned and reimplemented D-Bus API, required by sync-UI:
541 + central syncevo-dbus-server controls configurations and sync sessions:
542 http://syncevolution.org/development/direct-synchronization-aka-syncml-server
543 + accepts incoming SyncML connection requests and messages received by
544 independent transport stubs (obexd, HTTP server, ...)
545 + can be used by multiple user interfaces at once
546 + fully documented, see src/dbus/interfaces
547 + no longer depends on dbus-glib with hand-written glue code for C++,
548 instead uses gdbus plus automatic C++ binding generated via C++ templates
549 - 'syncevolution' command line tool bypasses D-Bus server and runs
550 sync sessions itself (MB #5043)
551 - availability of peers not detected (connected for HTTP, paired for
553 - Bluetooth peers can only be configured via command line (MB #9216)
555 Revised configuration layout (MB #8048, design document at
556 http://syncevolution.org/development/configuration-handling):
557 + several peer-independent sync and source properties are shared
558 between multiple peers
559 + they can be accessed without selecting a specific peer, by using an
560 empty config name or with the new "@<specific context>" syntax
561 + user interface in command line and D-Bus API unchanged
562 + old configurations can be read and written, without causing
563 unwanted slow syncs when moving between stable and unstable
564 SyncEvolution versions
565 + old configurations can be migrated with the "--migrate" command
566 line switch; however, then older SyncEvolution can no longer
567 access them and migrating more than one old configuration causes
568 the second or later configuration to loose its "deviceId" property
569 (which is shared now), causing a slow sync once
570 + config names may contain characters that are not allowed in the
571 file names used for the underlying files; will be replaced with
572 underscores automatically (MB #8350)
573 - users of the sync-ui will not know about the --migrate option,
574 so if they have only one configuration, it should be migrated
577 SyncML server in general:
578 + incoming connections are accepted by syncevo-dbus-server via
579 the D-Bus Connection API; because this is a "personal SyncML
580 server", all local data is meant to belong to a single user,
581 and only one sync session can be active at any point in time
582 + different users on the same machine can run their own server,
583 as long as they ensure that listening for incoming connections
584 does not conflict with each other (different port in HTTP)
585 + the session of an HTTP client which stops sending messages expires
586 after "RetryDuration" seconds instead of blocking the server
588 - suspend/resume support is untested (MB #2425)
589 - automatic backup of server databases is inefficient (done
590 even when client is not allowed to do a sync; always backs up
591 all data, including sources which are not active; MB #7708)
592 - the progress events and statistics reported for a SyncML client
593 are not generated when running as SyncML server, will require
594 a fair amount of refactoring in the Synthesis engine (MB #7709)
595 - the Synthesis server example config contains workarounds for
596 specific phones, but SyncEvolution does not currently use those;
597 adding new workarounds should be made very simple (MB #7712)
600 + test/syncevo-http-server.py provides an experimental HTTP server
601 based on Python and Twisted
602 - a configuration must be created for each peer manually, including
603 a remoteDeviceId value that contains the peer's SyncML device ID
606 OBEX SyncML server ("sync with phones"):
607 + peers are contacted via a builtin transport that uses libopenobex (MB #5188)
608 + Server Alerted Notification (SAN) message triggers syncs; server ID
609 and URI are configurable (MB #7871)
610 - a configuration must be created for each peer manually, including
611 a syncURL that contains the peer's MAC address (MB #7838)
612 - should be integrated into the system's Bluetooth pairing (MB #7089)
615 + obexd 0.19 contains a plugin which passes SyncML messages to syncevo-dbus-server
616 - parsing of SAN message is rudimentary and depends on an existing local
617 configuration, needs to be refined depending on which SyncML server software
618 it is meant to work with (MB #6175)
620 Automatic sync (MB #6378):
621 - no support for the various server push notification mechanisms
622 - no intelligent detection of local changes
623 - no regular background sync
624 - depends on safe handling of concurrent editing, which is blocked
625 by merging of a new Evolution Data Server API (MB #3479)
627 Upgrading from 0.9.x:
629 * Upgrading and downgrading should work seamlessly when using existing
630 configurations. But this being an alpha, better ensure that you have
631 backups of both your data and your configurations in
632 ~/.config/syncevolution.
634 * The new configuration layout is only used when creating new
635 configurations or explicitly invoking "syncevolution --migrate" (see
636 above). Such configs cannot be used by older SyncEvolution releases.
639 SyncEvolution 0.9.1 -> 0.9.2, 23.01.2010
640 ========================================
641 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
643 New Maemo 5/Nokia N900 calendar backend and packages, brought to you
644 by Ove Kaaven. These packages are available via the Maemo extras-devel
645 repository. Bug reports can be submitted both in http://bugs.maemo.org
646 and http://bugzilla.moblin.org. The latter is the tracker that is
647 monitored by the SyncEvolution team, which will also incorporate
648 patches. In general, Ove is the main maintainer of the new backend.
650 New XMLRPC backend, contributed by Franz Knipp/M-otion. It accesses
651 data inside a web service via a SOUP API and thus allows synchronizing
652 it via SyncML. See src/backends/xmlrpc/README for more information.
654 Added templates for Oracle Beehive and Goosync. Both are not currently
655 part of the regular testing.
657 In addition to that, 0.9.2 is an incremental update, with several
658 updated translations and addressing all of the issues reported by
661 - vCard dialects: added "X-GENDER/X-SIP" (used by Maemo) and X-SKYPE
662 (used by Maemo and recent Evolution, MB #8948)
664 - Evolution Address Book: avoid picking CouchDB by default (MB #7877, evolution-couchdb #479110)
666 CouchDB address books are appended at the end of the local database
667 list, otherwise preserving the order of address books. The initial
668 release of evolution-couchdb in Ubuntu 9.10 is unusable because it
669 does not support the REV property.
671 Reordering the entries ensures that the CouchDB address book is not
672 used as the default database by SyncEvolution, as it happened in
673 Ubuntu 9.10. Users can still pick it intentionally via
676 - installation: templates now in $(datadir)/syncevolution/templates (MB #7808)
677 This are files used internally, meant to be extended by distributors.
678 Storing them in /etc is no longer supported, but also unlikely to be
679 needed. Added warnings that these files cannot simply be copied into
680 .config because they are not complete configurations.
682 - installation: "make install" populates $(docdir) (MB #7168)
683 Previously README, COPYING, NEWS, and server READMEs were copied
684 into syncevolution.org .tar.gz/.deb/.rpm archives as part of
685 custom make rules and thus missing in other installations.
687 - building: --with-boost had no effect (MB#7856), detect incorrect
688 use of --with-synthesis-src, workaround for lack of --with-docdir
689 in older autoconf, do not unnecessarily depend on CPPUnit header
690 files and GNOME/EDS libs (MB#8338), workaround for libtool bug
691 ("cannot install `syncecal.la' to a directory not ending in ..."),
693 - clarified documentation of properties for file backend (MB#8146)
695 - stderr redirection: detect "error" messages and show them (MB#7655)
696 The "GConf Error: Failed to contact configuration server..." error
697 message was suppressed by the code which catches noise from libraries
698 invoked by SyncEvolution. Now it is printed as ERROR, making it
699 easier to detect why running SyncEvolution inside cron needs
701 http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/
703 - importing contacts from SyncML server without full name (MB#5664):
704 Evolution expects the name to be set and shows an empty string if
705 it is missing. Now the name is re-added by appending first, middle and
708 - Evolution calendar: work around 'cannot encode item' problem (MB #7879)
709 Happens when the calendar file contains broken events which reference
710 a timezone that is not defined. Now the event is treated like one in
713 - "http_proxy" env variable is supported regardless which HTTP transport
716 - avoid crashes when libecal sets neither error nor pointer (MB#8005)
717 and when aborting a running sync in the syncevo-dbus-server (MB#8385)
719 - "--status" output: fixed missing total item counts (MB #9097)
722 Upgrading from 0.9.1:
724 * nothing to do, upgrading and downgrading should work seamlessly
727 SyncEvolution 0.9 -> 0.9.1, 26.10.2009
728 ======================================
729 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
731 Mobical and Memotoo are now officially supported.
733 Memotoo uses vCard 2.1 with several Evolution specific extensions. It
734 uses iCalendar 2.0, however, without actually supporting the advanced
735 features of it. Times are converted to UTC and meeting information are
738 Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
739 result that many properties used in Evolution are not supported by the
740 server. In particular calendar support is very limited (known issues
741 when events are in time zones different from the one selected locally
742 and on the server, no support for meetings). For details see
745 *** Beware *** that the Mobical SyncML password is *not* the same as
746 the one for their web site. Log into mobical.net, then go to "my accounts
747 >> configure new device >> manual settings" to find the SyncML
750 It is now possible to compile database backends outside of
751 SyncEvolution, install them and have SyncEvolution use them
752 automatically like any other backend. The backend API has been
753 enhanced considerably. For example, backend developers have
754 access to a modular set of utility classes that can be mixed
755 into a specific implementation. Backends can access the internal
756 Synthesis representation directly and therefore no longer need
757 their own vCard/vCalendar/iCalendar parser.
759 The sqlite demo backend can be enabled and compiled again with
760 --enable-sqlite. It demonstrates how to map directly from the
761 Synthesis field list to some internal format (an SQLite database
762 schema in this case).
766 * Resend messages to cope with intermittent loss of network
767 connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
768 and "ResendDelay" configuration properties for details.
770 * SyncEvolution command line uses the GNOME keyring when
771 the new --keyring option is given.
773 * The logging of added and updated items was enhanced. Events,
774 tasks and memos are logged with a short description instead of
775 just the local ID. The description for contacts was improved.
777 * Receiving photos from Mobical failed because Mobical
778 does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
779 Sending photos worked, but added a few bytes of garbage
780 at the end of each photo (typically ignored when showing).
781 Parser was made more tolerant by Synthesis and encoder bug
784 * Task priorities used by Mobical and Evolution did not match:
785 vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
786 SyncEvolution now translates between the two ranges, with
787 some information getting lost when talking to a peer which
788 only supports the smaller range.
790 * Importing work and home phone numbers from Google into desktop
791 Evolution works better, because SyncEvolution now adds the "VOICE"
792 flag expected by Evolution (MB#6501).
794 * SSL certificate checking with Google is enabled by default
795 and enabled in Moblin, because libsoup in that distro has
796 the necessary fix. Without that fix, all connection attempts
797 fail. The binaries on syncevolution.org are compiled with
798 --disable-ssl-certificate-check, so users who want the
799 additional security must enable it.
801 * .rpms on syncevolution.org no longer specify a dependency
802 on certain Perl features. This depencency was a problem on
803 Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
804 binaries are avoided for real this time (MB#6552).
806 * Some sync-UI enhancements (describe sync services, avoid crash
807 with very long input in some of the text boxes (MB#5219), set
808 application icon, improved some strings).
810 * sync-UI: now disables sources which are not supported when
811 setting up a configuration, like memos on Moblin (MB #6672).
812 Previously the source was enabled, which prevented using
813 using the configuration as-is on the command line.
815 * The sync UI allowed to enable calendar and task synchronization
816 with Google although Google does not support that (MB#5871).
817 In new installations this is prevented by clearing the URI
818 for those data categories.
820 * Trying to remove a non-existent configuration via the command
821 line now raises an error, to catch typos (MB #6673).
823 * Improved checks which logs in the logdir belong to the current
826 * Improved sanity checking of integer configuration parameters
829 * Spelling fix: "aboring" => "aborting"
834 * Mobical and Memotoo do not have a description in the GUI yet.
836 * ZYB.com is not supported because of a known anchor handling
837 problem in the server (MB#2424).
842 * nothing to do, upgrading and downgrading should work seamlessly
845 SyncEvolution 0.9.1 beta 2 -> 0.9.1, 26.10.2009
846 ===============================================
847 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
851 * spelling fixes in NEWS file (--source-type => --source-property)
853 * improved autotools compilation of libsynthesis
856 SyncEvolution 0.9.1 beta 1 -> 0.9.1 beta 2, 19.10.2009
857 ======================================================
858 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
862 * Receiving photos from Mobical failed because Mobical
863 does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
864 Sending photos worked, but added a few bytes of garbage
865 at the end of each photo (typically ignored when showing).
866 Parser was made more tolerant by Synthesis and encoder bug
869 * Task priorities used by Mobical and Evolution did not match:
870 vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
871 SyncEvolution now translates between the two ranges, with
872 some information getting lost when talking to a peer which
873 only supports the smaller range.
875 * The workaround for detecting an endless stream of Alert 222
876 messages (caused by misbehavior of certain servers when
877 a specific message has to be resent) aborted certain
878 valid (albeit somewhat pathologic) sync sessions. Improved
879 the heuristic so that it still catches the real loop without
880 aborting in that other case.
882 * sync-ui: now disables sources which are not supported when
883 setting up a configuration, like memos on Moblin (MB #6672).
884 Previously the source was enabled, which prevented using
885 using the configuration as-is on the command line.
887 * .rpms on syncevolution.org no longer specify a dependency
888 on certain Perl features. This depencency was a problem on
889 Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
890 binaries are avoided for real this time (MB#6552).
892 * Trying to remove a non-existent configuration via the command
893 line now raises an error, to catch typos (MB #6673).
895 * Message resend options: added sanity checks to catch negative
896 values, clarified that duration is given in seconds, 0s resend
897 interval disables resending (MB #6500).
899 * Spelling fix: "aboring" => "aborting"
902 SyncEvolution 0.9 -> 0.9.1 beta 1, 06.10.2009
903 =============================================
904 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
906 Mobical and Memotoo are now officially supported.
908 Memotoo uses vCard 2.1 with several Evolution specific extensions. It
909 uses iCalendar 2.0, however, without actually supporting the advanced
910 features of it. Times are converted to UTC and meeting information are
913 Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
914 result that many properties used in Evolution are not supported by the
915 server. In particular calendar support is very limited (known issues
916 when events are in time zones different from the one selected locally
917 and on the server, no support for meetings). For details see
920 *** Beware *** that the Mobical SyncML password is *not* the same as
921 the one for their web site. Log into mobical.net, then go to "my accounts
922 >> configure new device >> manual settings" to find the SyncML
925 It is now possible to compile database backends outside of
926 SyncEvolution, install them and have SyncEvolution use them
927 automatically like any other backend. The backend API has been
928 enhanced considerably. For example, backend developers have
929 access to a modular set of utility classes that can be mixed
930 into a specific implementation. Backends can access the internal
931 Synthesis representation directly and therefore no longer need
932 their own vCard/vCalendar/iCalendar parser.
934 The sqlite demo backend can be enabled and compiled again with
935 --enable-sqlite. It demonstrates how to map directly from the
936 Synthesis field list to some internal format (an SQLite database
937 schema in this case).
941 * Resend messages to cope with intermittent loss of network
942 connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
943 and "ResendDelay" configuration properties for details.
945 * The logging of added and updated items was enhanced. Events,
946 tasks and memos are logged with a short description instead of
947 just the local ID. The description for contacts was improved.
949 * The sync UI allowed to enable calendar and task synchronization
950 with Google although Google does not support that (MB#5871).
951 In new installations this is prevented by clearing the URI
952 for those data categories.
954 * Importing work and home phone numbers from Google into desktop
955 Evolution works better, because SyncEvolution now adds the "VOICE"
956 flag expected by Evolution (MB#6501).
958 * SyncEvolution command line uses the GNOME keyring when
959 the new --keyring option is given.
961 * SSL certificate checking with Google is enabled by default
962 and enabled in Moblin, because libsoup in that distro has
963 the necessary fix. Without that fix, all connection attempts
964 fail. The binaries on syncevolution.org are compiled with
965 --disable-ssl-certificate-check, so users who want the
966 additional security must enable it.
968 * syncevolution.org binaries should be compatible with a wider
969 range of Evolution releases again (MB#6552).
971 * Some sync UI enhancements (describe sync services, avoid crash
972 with very long input in some of the text boxes (MB#5219), set
973 application icon, improved some strings).
975 * Improved checks which logs in the logdir belong to the current
978 * Improved sanity checking of integer configuration parameters
983 * Mobical and Memotoo do not have a description in the GUI yet.
985 * ZYB.com is not supported because of a known anchor handling
986 problem in the server (MB#2424).
989 SyncEvolution 0.8.1 -> 0.9, 12.08.2009
990 --------------------------------------
991 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
993 This is a major new release, with first steps towards further improvements.
994 From this release on, the Synthesis SyncML engine will be the
995 underlying SyncML and data conversion engine.
997 A native GTK GUI is now included. The "sync-ui" program depends on a
998 backend D-Bus service ("synevo-dbus-server") and several auxiliary
999 files. Therefore, it only runs without hacks after installation in
1000 /usr (possible with .deb, .rpm and binary .tar.gz archives, and
1001 with "sudo make install", after compiling from source). The
1002 normal command line tool still works without being installed.
1004 In this release, the data handling model was changed from "all items
1005 are sent verbatim to the SyncML server" to "parse and convert". The
1006 argument for the former approach was that the SyncML server should be
1007 the only entity in the system which does data conversion. The previous
1008 releases already had to deviate from this approach to accommodate for
1009 minor client/server incompatibilities and for vCard 2.1 support, so the
1010 new approach just takes it one step further.
1012 The main reason for going to full semantic conversion is vCalendar 1.0
1013 support. Support by servers for iCalendar 2.0, the only format
1014 supported by 0.8.1, is often still incomplete or even non-existent. By
1015 doing the conversion on the client side, SyncEvolution is now able to
1016 synchronize events and tasks with a wider variety of servers.
1018 It is still true that properties not supported by a server cannot
1019 be synchronized to other devices, so using a server with full
1020 iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
1021 information that can be stored only locally is no longer lost when
1022 receiving an incomplete update from the SyncML server, thanks to
1023 intelligent merging, provided by the Synthesis engine. This depends on
1024 an accurate description of the server's capabilities, which might not
1025 be provided by all of them. This still needs to be tested in more detail.
1027 Interoperability with servers tested extensively in this release.
1028 The following servers are now supported:
1030 * ScheduleWorld. There is very complete support for Evolution data. The
1031 only known issues are around resuming from an interrupted sync.
1033 * Google contact sync.
1035 Google follows the vCard 2.1 specification, and thus does not support
1036 some of the vCard 3.0 additions, nor some of the common extensions. As
1037 a result, several properties are not synchronized (nickname, birthday,
1038 spouse/manager, URLs, ...). Only one top-level organization seems to
1039 be supported. For details, see README.google.
1041 Regarding Google's SyncML support, refresh-from-client and
1042 one-way-from-client sync modes are not supported. Deleting contacts
1043 moves them out of the main address without deleting them permanently. When
1044 adding such a contact again, the server discards the data sent by the
1045 client and recreates the contact with the data that it remembered.
1047 Because SSL certificate checking for Google works only with libsoup
1048 if the platform has a patched libsoup
1049 (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >=
1050 2.28, certificate checking remains turned off by default for
1051 Google. If your platform has a suitable libsoup (like Moblin 2.0),
1052 then enable checking with:
1054 syncevolution --configure \
1055 --sync-property SSLVerifyServer=true \
1056 --sync-property SSLVerifyHost=true \
1059 * Funambol, with calendar and task support. Funambol supports iCalendar 2.0
1060 in the current server, so this is enabled in the configuration template.
1061 Not all iCalendar 2.0 features are supported by the server,
1062 most notably support for meetings (drops attendees), meeting
1063 invitations (drops UID), detached recurrences
1064 (drops RECURRENCE-ID). See README.funambol for details.
1066 Interoperability with the Funambol server was improved by adding
1067 support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
1068 #2418). Lost ACTION property has a work around (#2422).
1070 To enable that support in an existing configuration so that it
1071 exchanges items in the more suitable iCalendar 2.0 format, use:
1073 syncevolution --configure --source-property sync=two-way \
1074 funambol calendar todo
1075 syncevolution --configure --source-property type='calendar:text/calendar!' \
1077 syncevolution --configure --source-property type='todo:text/calendar!' \
1080 Without the exclamation mark, format auto-negotiation would pick the
1081 less capable vCalendar 1.0 format because that is marked as preferred
1085 *** WARNING ***: After switching from a previous release to the
1086 current one, or vice versa, do a "syncevolution --sync
1087 refresh-from-server" or "--sync refresh-from-client" (depending on
1088 which side has the authoritative copy of the data) once, to get client
1089 and server into a consistent state. Not doing so can result in
1090 applying the same changes to the server multiple times, and thus
1093 Other changes in detail:
1095 * vCalendar 1.0 is now supported.
1097 * Both libcurl and libsoup can be selected at compile time as HTTP(S)
1098 transport mechanism.
1100 * SF #2101015: Expect: 100-continue header results in 417 Error with proxy.
1101 Should no longer occur with the HTTP transports in this release.
1103 * SF #1874805: Syncing with Funambol results in loosing all-day property.
1104 This now works thanks to the Synthesis data conversion rules.
1106 * SF #2586600: Synchronisation with mobical.net fails in 0.8.1.
1107 Works now, but there are some known issues (Bugzilla #3009)
1108 and therefore mobical.net is not officially supported yet.
1110 * SF #2542968: Separator for categories should not be escaped.
1111 Done correctly by the Synthesis vcard conversion.
1113 * bug fix: Evolution notes with only a summary and no description were
1114 not sent correctly to the server. Instead of sending the summary,
1115 an empty text was sent.
1117 * CTRL-C no longer kills SyncEvolution right away. Instead it
1118 asks the server to suspend the session. If that takes too
1119 long, then pressing CTRL-C twice quickly will abort the sync
1120 without waiting for the server (Warning, this may lead to a
1121 slow sync in the next session).
1123 * WBXML is enabled by default now, except for Funambol (#2415).
1124 Using WBXML reduces message sizes and increases parsing
1127 * New configuration templates can be added to
1128 /etc/default/applications/syncevolution. These templates may contain
1129 icons, which are used by the GUI (no icons shipped right now).
1131 * Information about previous synchronization sessions is now stored in a
1132 machine-readable format and can be accessed using the new
1133 --print-sessions options. The output of this information is more
1134 complete and more nicely formatted.
1136 * --status now shows not only data changes since the last sync, but also
1137 item changes (see README for the difference between the two).
1139 * The new --restore option allows restoring local data to the state as
1140 it was before or after a sync. For this to work, "logdir" must be set
1141 (done by default for new configurations). The format of database dumps
1142 was changed to implement this feature. Instead of in a flat file,
1143 items are now saved as individual files in a directory. To get the
1144 previous format back (for example, to import as one .vcf or .ics file
1145 manually) concatenate these files.
1147 * With –-remove, one can remove configurations. It leaves data files and
1148 the local databases untouched.
1153 * The GUI includes the number of locally deleted items during a
1154 refresh-from-server sync in the number of "received changes"
1155 (#5185), which is a bit misleading. This is a result of #3314,
1156 which introduced changes not "received" from the server.
1158 * When a network error occurs and the client
1159 never notices that the connection to the server was lost,
1160 it will hang forever, waiting for the server's reply (#3427).
1162 * The file backend now works only for data formats understood
1163 by SyncEvolution and the Synthesis engine. Items are parsed
1164 when exchanging them among the backend, engine, and server,
1165 in contrast to 0.8.1, where item content was not touched
1168 * The ZYB.com server sends conflicting sync anchors, so
1169 most syncs don't work as expected (#2424).
1172 SyncEvolution 0.9 beta 3 hotfix -> 0.9 final, 12.08.2009
1173 --------------------------------------------------------
1175 Because SSL certificate checking for Google only works with libsoup if
1176 the platform has a patched libsoup
1177 (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >= 2.28,
1178 certificate checking remains turned off by default for Google. If your
1179 platform has a suitable libsoup (like Moblin 2.0), then enable
1182 syncevolution --configure \
1183 --sync-property SSLVerifyServer=true \
1184 --sync-property SSLVerifyHost=true \
1188 * updated translations
1189 * refresh-from-server syncs now report how many items were
1190 deleted locally at the start of the sync (Bugzilla #3314).
1191 The GUI includes the number of locally deleted items during a
1192 refresh-from-server sync in the number of "received changes",
1193 which is a bit misleading (#5185).
1194 * fixed build issue on Fedora 11/g++ 4.4 (Bugzilla #5061)
1195 * some build and test improvements
1196 * proper fix for D-Bus error functions (#4919)
1197 * improve sync-ui startup time by avoiding an unnecessary
1198 copying of the sync config into itself (#5021)
1199 * adapted tooltip style (used for SyncML server links) to new
1200 Moblin theme, they weren't visible earlier (#5017)
1201 * notify zone selector in Moblin 2.0 about sync-ui startup (#4752)
1202 * sync-ui: minor layout change for fatal error situation
1205 SyncEvolution 0.9 beta 3 -> 0.9 beta 3 hotfix, 23.07.2009
1206 ---------------------------------------------------------
1208 Found additional Google limitation: the server drops photos if they
1209 exceed a certain size. The limit is somewhere between 40KB (okay) and
1212 The last-minute workaround for Google/libsoup/gnutls (using http)
1213 didn't work because apparently Google only supports SyncML over https
1214 (Bugzilla #4551). Now the default configuration template uses https
1215 with all certificate checking disabled. A patch for libsoup was
1216 submitted to upstream.
1218 Some error messages by the "syncevolution" command line tool were not
1219 printed (#4676). The root cause was the intentional interception of
1220 stderr to hide the noise printed by various system libraries
1221 (#1333). Unfortunately remarks about incorrect command line options
1222 were among swallowed messages. No good workaround available short of
1223 disabling the redirection with SYNCEVOLUTION_DEBUG=1, so let's release
1227 * updated translations
1230 SyncEvolution 0.9 beta 2 -> 0.9 beta 3, 21.07.2009
1231 --------------------------------------------------
1232 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
1234 Enabled calendar and task synchronization for myFunambol.com.
1235 Not all iCalendar 2.0 features are supported by the server,
1236 most notably support for meetings (drops attendees), meeting
1237 invitations (drops UID), detached recurrences
1238 (drops RECURRENCE-ID). See README.funambol for details.
1240 Interoperability with the Funambol server was improved by adding
1241 support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
1242 Bugzilla #2418). Lost ACTION property is worked around (#2422).
1244 Synchronization with Google Contacts was enabled and tested.
1245 A configuration template for that server is now provided. Google
1246 follows the vCard 2.1 specification and thus does not support some
1247 of the vCard 3.0 additions, nor some of the common extensions. As
1248 a result, several properties are not synchronized (nickname, birthday,
1249 spouse/manager, URLs, ...). Only one top-level organization seems to
1250 be supported. For details, see README.google.
1252 Regarding Google's SyncML support, refresh-from-client and
1253 one-way-from-client sync modes are not supported. Deleting contacts
1254 moves them out of the main address without deleting them permanently. When
1255 adding such a contact again, the server discards the data sent by the
1256 client and recreates the contact with the data that it remembered.
1258 SSL certificate checking with libsoup (the default transport) is now
1259 supported (#2431). However, libsoup/gnutls are very strict about SSL
1260 certificate checking and reject version 1 certificates, like the one
1261 used by Verisign for Google (#4551). At the moment the only solution
1262 is to fall back to plain http in the Google configuration template.
1264 CTRL-C no longer kills SyncEvolution right away. Instead it
1265 asks the server to suspend the session. If that takes too
1266 long, then pressing CTRL-C twice quickly will abort the sync
1267 without waiting for the server (warning, this may lead to a
1268 slow sync in the next session).
1270 WBXML is enabled by default now, except for Funambol (#2415).
1271 Using WBXML reduces message sizes and increases parsing
1272 performance. It was not enabled initially in the 0.9 releases in order
1273 to test this new feature more thoroughly. Old configs don't have an
1274 explicit enableWBXML setting and therefore will automatically use the
1277 Various bug fixes and improvements:
1279 * only show servers in GUI which are tested and supported (Bugzilla #3336)
1280 * a single log file is written in .html format (#3474)
1281 * added several translations of the GUI
1282 * lots of testing improvements, build binary packages again
1286 When enabling calendar and todo synchronization with Funambol
1287 in an existing configuration, set the type so that iCalendar 2.0 is used:
1288 syncevolution --configure --source-property sync=two-way funambol calendar todo
1289 syncevolution --configure --source-property type='calendar:text/calendar!' funambol calendar
1290 syncevolution --configure --source-property type='todo:text/calendar!' funambol todo
1292 When creating a configuration anew, this is not necessary because the
1293 configuration template contains those types.
1296 SyncEvolution 0.9 beta 1 -> 0.9 beta 2, 12.06.2009
1297 --------------------------------------------------
1298 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
1300 Major new feature: a GTK GUI! The "sync-ui" program depends on a
1301 backend D-Bus service ("synevo-dbus-server") and several auxiliary
1302 files. Therefore it only runs without hacks after "sudo make install",
1303 in contrast to the normal command line which can be invoked directly.
1305 New configuration templates can be added to
1306 /etc/default/applications/syncevolution. These templates may contain
1307 icons which are used by the GUI (no icons shipped right now).
1309 Information about previous synchronization sessions is now stored in a
1310 machine-readable format and can be accessed via the new
1311 --print-sessions options. The output of this information is more
1312 complete and nicer formatted.
1314 --status now not only shows data changes since the last sync, but also
1315 the item changes (see README for the difference between the two).
1317 The new --restore option allows restoring local data to the state as
1318 it was before or after a sync. For this to work, "logdir" must be set
1319 (done by default for new configurations). The format of database dumps
1320 was changed to implement this feature: instead of in a flat file,
1321 items are now saved as individual files in a directory. To get the
1322 previous format back (for example, to import as one .vcf or .ics file
1323 manually) concatenate these files.
1325 With --remove one can remove configurations. It leaves data files and
1326 the local databases untouched.
1328 Various bug fixes and improvements:
1330 * compiles and works again on Debian Etch if Boost 1.35 is installed
1331 from www.backports.org (without GUI, see Bugzilla #3358)
1333 * uses XDG_CACHE_HOME (= ~/.cache) for logs and database dumps to
1334 avoid interfering with .desktop search in XDG_DATA_HOME; the
1335 directory there is automatically moved when running syncevolution
1338 * re-enabled certain config options (clientAuthType, maxMsgSize, maxObjSize);
1339 normally it shouldn't be necessary to modify those (Bugzilla #3242, #2784)
1341 * fixed error handling of unexpected server reply in libsoup transport
1344 * message logging is enabled at logLevel 3 (XML translation) and 4 (also
1345 original XML or WBXML message)
1347 * GTK GUI fixes since initial Moblin 2.0 beta: only start it once if
1348 libunique is available (Bugzilla #3154), wrap text in change sync service"
1349 button (Bugzilla #2064), sort sources alphabetically in UI (Bugzilla #2070)
1352 SyncEvolution 0.8.1 -> 0.9 beta 1, 13.05.2009
1353 ---------------------------------------------
1354 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
1356 A major new release and the first step towards further improvements:
1357 from this release onwards, the Synthesis SyncML engine is used as the
1358 underlying SyncML and data conversion engine. The focus of this first
1359 beta was to reach the same level of functionality and stability as in
1360 0.8.1. Therefore this beta does not yet bring much new features; this
1361 will be the focus of further beta releases until finally 0.9 will be a
1362 full replacement for 0.8.1.
1364 This release also switches from an "all items are sent verbatim to the
1365 SyncML server" to a "parse and convert" data handling model. The
1366 argument for the former approach was that the SyncML server should be
1367 the only entity in the system which does data conversion. The previous
1368 releases already had to deviate from this approach to accommodate for
1369 minor client/server incompatibilities and for vCard 2.1 support.
1371 The main reason for going to full semantic conversion is vCalendar 1.0
1372 support. Support by servers for iCalendar 2.0, the only format
1373 supported by 0.8.1, is often still incomplete or even non-existent. By
1374 doing the conversion on the client side, SyncEvolution is now able to
1375 synchronize events and tasks with a wider variety of servers.
1377 It is still true that properties not supported by a server cannot
1378 be synchronized to other devices, so using a server with full
1379 iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
1380 information that can only be stored locally is no longer lost when
1381 receiving an incomplete update from the SyncML server thanks to
1382 intelligent merging provided by the Synthesis engine. This depends on
1383 an accurate description of the server's capabilities, which might not
1384 be provided by all of them - still needs to be tested in more detail.
1386 *** WARNING ***: after switching from a previous release to the
1387 current one or vice versa, do a "syncevolution --sync
1388 refresh-from-server" or "--sync refresh-from-client" (depending on
1389 which side has the authoritative copy of the data) once to get client
1390 and server into a consistent state. Not doing so can result in
1391 applying the same changes to the server multiple times and thus
1396 * vCalendar 1.0 is now supported. Because this hasn't been tested that
1397 much yet, events and tasks are still disabled in the Funambol default
1398 configuration (SF #2635973).
1400 * Both libcurl and libsoup can be selected at compile time as HTTP(S)
1401 transport mechanism.
1403 * SF #2101015: Expect: 100-continue header results in 417 Error with proxy
1404 Should no longer occur with the HTTP transports in this release.
1406 * SF #1874805: Syncing with Funambol results in loosing all-day property
1407 This now works thanks to the Synthesis data conversion rules.
1409 * SF #2586600: Synchronisation with mobical.net fails
1410 Should work now because of the different SyncML implementation (untested).
1412 * SF #2542968: separator for categories should not be escaped
1413 Done correctly by the Synthesis vcard conversion.
1415 * bug fix: Evolution notes with only a summary and no description were
1416 not sent correctly to the server: an empty text was sent instead of
1419 Known shortcomings in this release which will be fixed before the
1422 * Verbatim file backups of items on the SyncML server are currently
1423 not possible: the SyncEvolution "file" backend still exists, but
1424 all items are converted by the Synthesis engine and therefore must
1425 be in a format supported by the engine.
1427 * HTTPS can be used with libsoup, but certificate checking is always
1428 disabled. Need to find a portable way to determine where the
1429 certificate file is on various systems.
1431 * Log file handling is not yet unified: the traditional client.log
1432 contains only high-level SyncEvolution log entries. Low-level
1433 SyncML and engine log entries are in sysync_*.html files.
1435 * stdout and stderr messages from system libraries are visible on the
1436 console. 0.8.1 used to redirect those into the client.log to hide
1437 this noise; this will be added again. In the meantime, ignore
1438 messages like "Deadlock potential - avoiding evil bug!". This is
1439 liborbit telling us that it is (hopefully successfully) handling
1443 SyncEvolution 0.8.1 -> 0.8.1a, 15.12.2008
1444 -----------------------------------------
1445 C++ client library: 7.0 plus some patches, see github
1446 repository referenced in configure script.
1448 A minor bug fix release, updating only necessary on Mac OS X.
1450 * #2307976 "Trace/BPT trap - sync failure": occurs randomly in
1451 Mac OS X specific transport layer of the Funambol C++ client
1452 library. Avoided in 0.8.1a by using libcurl as transport,
1456 SyncEvolution 0.8 -> 0.8.1, 11.10.2008
1457 --------------------------------------
1458 C++ client library: 7.0 plus some patches, see github
1459 repository referenced in configure script.
1461 A minor bug fix release, updating not really necessary.
1462 The binary packages for Evolution are built now so that
1463 one package works for all compatible Evolution releases,
1464 including the new Evolution 2.24.
1466 * Evolution calendar: regression in 0.8: one-way sync of virtual
1467 birthday calendar (#2095433). "refresh-from-client" works again
1468 for the birthday calendar. Other modes are not supported.
1469 In contrast to previous releases SyncEvolution now does some
1470 sanity checks that the sync mode is right.
1471 * Mac OS X: removing old logdirs failed (#2087389). Fixed.
1472 * SyncML client library: "Expect: 100-continue" header
1473 resulted in 417 error with certain proxies (#2101015).
1474 Now this header is always disabled; it doesn't make
1475 much sense with SyncML anyway.
1476 * The development of the Funambol C++ client library is now
1477 tracked in a git repository on github.com. Modifications
1478 and tags for SyncEvolution are checked in there. The
1479 configure script checks out the right sources from there
1480 automatically; can be controlled via --with-funambol-src
1482 * Evolution desktop: the version of the used Evolution libraries
1483 is included in the "--version" output and log files.
1484 * Cleaned up README. Kudos to Martin Wetterstedt for pointing
1485 out mistakes in the README and the web site.
1488 SyncEvolution 0.7 -> 0.8, 29.08.2008
1489 ------------------------------------
1490 C++ client library: 7.0 plus compatibility patch for Synthesis
1492 Updating user configuration: this version introduces a new, simplified
1493 configuration layout. Old configurations still work. They can be
1494 converted to the new format via a new "--migrate" command line option.
1496 *** WARNING ***: this version uses a different change tracking for Mac
1497 OS X address book, Evolution calendars, task lists and memos. After
1498 switching from a previous release to the current one or vice versa, do
1499 a "syncevolution --sync refresh-from-server" once to reset the change
1500 tracking. Not doing so can result in applying the same changes to the
1501 server multiple times and thus duplicates.
1503 * New configuration file layout: following the freedesktop.org
1504 recommendation, new configurations are stored in
1505 $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
1506 XDG_CONFIG_HOME is not set. The old layout under
1507 $HOME/.sync4j/evolution is still supported.
1509 * New command line options: new configurations can be created by
1510 syncevolution itself (--configure), including setting of all
1511 configuration properties (--sync-property, --source-property).
1512 The configuration can dumped to stdout (--print-config), with or
1513 without comments explaining each property (--quiet). See the
1516 * The "evolutionsource" source property no longer has to be configured.
1517 If left blank, the default client database will be synchronized.
1519 * Selecting which kind of data is to be synchronized under a specific
1520 source name is a lot easier now and the same on all supported
1521 platforms: the SyncEvolution backends can be selected via aliases
1522 (e.g. "contacts") and the format is specified via an optional
1523 MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
1524 that multiple backends are active which can synchronize the same
1525 kind of data, then the right one can be selected by the unique
1526 name of the backend (e.g. "Evolution Address Book").
1528 * New configurations automatically get a random client ID string.
1529 Setting it manually is still possible, but no longer necessary.
1530 Disabling unavailable data sources is also done automatically.
1532 SyncEvolution checks that the backend is available and there is
1533 at least one database (the first one will be synchronized unless
1534 explicitly changed). If these checks fail and the sync source was
1535 explicitly requested by the user by listing it after the server
1536 name, then an error is printed and no configuration is written.
1537 If the user wants the default setup, then the source is silently
1540 * All passwords can be read from stdin at runtime or an environment
1541 variable (see "--sync-property password=?" or README for details).
1542 Both avoids the less secure storing of plain text passwords in the
1543 configuration files (SF #1832458).
1545 * Detached recurrences: meeting series where some occurrences were
1546 modified are now supported. Previously only the main event was
1547 synchronized. All exceptions got lost when copying back from the
1548 server. Requires a SyncML server which supports this. ScheduleWorld
1549 was extended to do that.
1551 * Fixed segfaults caused by logging certain data. The reason was an
1552 API change in the client library's logging calls which the older
1553 SyncEvolution code hadn't been adapted to. Did not normally occur,
1554 but might have been the reason for SF #1830149 (unconfirmed).
1556 * Time zone support: the time zones of incoming events are mapped
1557 to native time zone definitions whenever possible. Currently
1558 this works if the TZID follows the Olson naming scheme with a
1559 location at the end. Matching the time zone has the advantage of
1560 being able to update the time zone definition without having to
1561 recreate the event. If matching fails and the VTIMEZONE definition
1562 differs from one already imported earlier, then SyncEvolution works
1563 arounds limitation in Evolution by renaming the time zone.
1564 Previously the new event used the old and most likely out-dated
1565 time zone definition.
1567 ***WARNING***: Evolution itself does not do either of these steps
1568 itself yet, thus importing meeting invitations via Evolution still
1569 fails in some cases. The code implementing the time zone handling
1570 described above was written with inclusion into Evolution itself in
1571 mind; a discussion with the Evolution developers about that is in
1574 * On Maemo/Nokia Internet Tablets, calendar synchronization now
1575 works because the new calendar change tracking no longer depends
1576 on some of the backend calls which used to fail (SF #1734977).
1578 * Added SSL configuration options: certificate checking can be
1579 relaxed or disabled completely (SF #1852647).
1581 * Added a new file backend: stores each SyncML item as a separate file
1582 in a directory. The directory has to be specified via the database
1583 name, using [file://]<path> as format. The file:// prefix is
1584 optional, but the directory is only created if it is used.
1586 Change tracking is done via the file systems modification time
1587 stamp: editing a file treats it as modified and then sends it to the
1588 server in the next sync. Removing and adding files also works.
1590 The local unique identifier for each item is its name in the
1591 directory. New files are created using a running count which
1592 initialized based on the initial content of the directory to
1593 "highest existing number + 1" and incremented to avoid collisions.
1595 Although this sync source itself does not care about the content of
1596 each item/file, the server needs to know what each item sent to it
1597 contains and what items the source is able to receive. Therefore
1598 the "type" property for this source must contain a data format
1599 specified, including a version for it. Here are some examples:
1600 - type=file:text/vcard:3.0
1601 - type=file:text/plain:1.0
1603 * Code restructuring: it is now possible to add new backends and thus
1604 write SyncML clients for other kinds of data without touching any
1605 line of code in SyncEvolution itself. All the required interfaces
1606 are documented inside SyncEvolution itself. A HTML documentation can
1607 be built via the new "make doc" target (requires Doxygen and dot).
1609 The SyncEvolution framework itself never depended on GNOME or
1610 Evolution, only the Evolution data sources did. If you want
1611 support for other ways of storing your data, consider writing
1612 a new data source - it is really easy. See EvolutionSyncSource
1613 or TrackingSyncSource for details.
1615 * Messages are printed to the screen immediately. More readable
1618 * Maemo: the useless ''list: unable to access calendars:
1619 failure' error message is avoided. It was triggered by not having
1620 memo support in Evolution Data Server. Cleaned up the code so that
1621 it properly distinguishes between 'calendar', 'memo list' and
1624 * added server template for MemoToo; note that the server has not been
1627 * added synchronization of Evolution memo summary
1629 Most devices only synchronize plain text and do not have a
1630 separate summary field. Such an extra summary field was added to
1631 Evolution after memo support was initially implemented in
1632 SyncEvolution, therefore SyncEvolution did not transmit that
1635 Added transmitting the summary by inserting it as first line of
1636 the plain text blob *if* it is not already identical with the
1637 first line. When receiving a memo, the summary is set from the
1638 first line *without* removing the first line because the first
1639 line might have been used as a normal part of the memo.
1641 * Various other minor changes, fixes and lots of code cleanups.
1643 * license cleanup: SyncEvolution is GPL v2 or later
1646 SyncEvolution 0.8 beta 2 -> 0.8 final, 29.08.2008
1647 -------------------------------------------------
1648 C++ client library: 7.0 plus compatibility patch for Synthesis
1650 * license cleanup: SyncEvolution is GPL v2 or later
1653 SyncEvolution 0.8 beta 2 -> 0.8 beta 3, 17.08.2008
1654 --------------------------------------------------
1655 C++ client library: 7.0 plus compatibility patch for Synthesis
1657 * Another revision of updating events in Evolution calendars:
1658 the method introduced in 0.8 beta 1 for dealing with
1659 detached recurrences did not work with the Evolution Exchange
1660 Connector. Now both Exchange and local calendars pass the unit
1663 * minor code cleanup (testing, writing additional backends)
1666 SyncEvolution 0.8 beta 1 -> 0,8 beta 2, 03.08.2008
1667 --------------------------------------------------
1668 C++ client library: 7.0 plus compatibility patch for Synthesis
1670 * To prevent accidental sync runs when a configuration change
1671 was intented, a new --run switch must be used when configuration
1672 properties are given on the command line. When neither --run
1673 nor --configure are specified, SyncEvolution prints an
1674 error and refuses to do anything.
1676 * Improved documentation for command line, in particular the synopsis.
1678 * Added a new file backend: stores each SyncML item as a separate file
1679 in a directory. The directory has to be specified via the database
1680 name, using [file://]<path> as format. The file:// prefix is
1681 optional, but the directory is only created if it is used.
1683 Change tracking is done via the file systems modification time
1684 stamp: editing a file treats it as modified and then sends it to the
1685 server in the next sync. Removing and adding files also works.
1687 The local unique identifier for each item is its name in the
1688 directory. New files are created using a running count which
1689 initialized based on the initial content of the directory to
1690 "highest existing number + 1" and incremented to avoid collisions.
1692 Although this sync source itself does not care about the content of
1693 each item/file, the server needs to know what each item sent to it
1694 contains and what items the source is able to receive. Therefore
1695 the "type" property for this source must contain a data format
1696 specified, including a version for it. Here are some examples:
1697 - type=file:text/vcard:3.0
1698 - type=file:text/plain:1.0
1700 * Code restructuring: it is now possible to add new backends and thus
1701 write SyncML clients for other kinds of data without touching any
1702 line of code in SyncEvolution itself. All the required interfaces
1703 are documented inside SyncEvolution itself. A HTML documentation can
1704 be built via the new "make doc" target (requires Doxygen and dot).
1707 SyncEvolution 0.8 alpha 1 -> 0.8 beta 1, 12.07.2008
1708 ---------------------------------------------------
1709 C++ client library: the frozen 7.0 code, but before the release
1711 * Added support for detached recurrences (aka modified instances of
1712 a recurring event). Requires a SyncML server which supports this.
1713 ScheduleWorld was extended to do that.
1715 * Fixed segfaults caused by logging certain data. The reason was an
1716 API change in the client library's logging calls which the older
1717 SyncEvolution code hadn't been adapted to. Did not normally occur,
1718 but might have been the reason for SF #1830149 (unconfirmed).
1720 * when creating a config for the first time, only enable sync sources
1721 which can be synchronized (SF #1991286)
1723 The check for that was completely missing. Now SyncEvolution
1724 checks that the backend is available and there is at least one
1725 database (the first one will be synchronized unless explicitly
1726 changed). If these checks fail and the sync source was explicitly
1727 requested by the user by listing it after the server name, then
1728 an error is printed and no configuration is written. If the user
1729 wants the default setup, then the source is silently disabled.
1731 * Fixed incorrect properties in some of the new server templates
1732 (ScheduleWorld syncURL + calender URI, Funambol syncURL, ScheduleWorld
1735 * Device IDs must start with the "sc-pim-" prefix, otherwise myFUNAMBOL
1736 may treat different devices as the single phone that myFUNAMBOL
1737 supports, leading to unwanted slow syncs.
1739 * Maemo package is build again so that backends are loaded dynamically:
1740 installing Dates application is as it was with the 0.7 release
1741 (SF #1993109). The useless ''list: unable to access calendars:
1742 failure' error message is avoided. It was triggered by not having
1743 memo support in Evolution Data Server. Cleaned up the code so that
1744 it properly distinguishes between 'calendar', 'memo list' and
1747 * added server template for MemoToo; note that the server has not been
1750 * added synchronization of Evolution memo summary
1752 Most devices only synchronize plain text and do not have a
1753 separate summary field. Such an extra summary field was added to
1754 Evolution after memo support was initially implemented in
1755 SyncEvolution, therefore SyncEvolution did not transmit that
1758 Added transmitting the summary by inserting it as first line of
1759 the plain text blob *if* it is not already identical with the
1760 first line. When receiving a memo, the summary is set from the
1761 first line *without* removing the first line because the first
1762 line might have been used as a normal part of the memo.
1764 * removed --properties option: it wasn't implemented yet and won't be in 0.8
1766 * fixed regression in alpha 1: setting sync mode during status query
1767 or sync affected *all* sources, even the disabled ones. Now it only
1768 affects the enabled ones, as intended. To enable disabled sync sources,
1769 list them after the server name.
1771 *** WARNING ***: this version uses a different change tracking for
1772 for Mac OS X AddressBook. After switching from a previous release to the current
1773 one or vice versa, do a "syncevolution --sync refresh-from-server"
1774 once to reset the change tracking. Not doing so can result in applying
1775 the same changes to the server multiple times and thus duplicates.
1777 A similar change was necessary in 0.8 alpha 1 for Evolution calendar,
1778 tasks, and memos. When switching from a version >= 0.8 alpha 1 to an
1779 older version or vice versa also refresh the local databases.
1781 0.8 alpha 1 did not create correct configurations. When you want to continue
1782 using such a configuration, make sure that in addition to the obviously
1783 wrong syncURLs also the less obvious ScheduleWorld config mistakes are fixed:
1784 * calendar: uri=cal2
1785 * addressbook: type=addressbook:text/vcard
1786 * deviceId must start with "sc-pim-" if you synchronize with myFUNAMBOL,
1787 otherwise there may be unwanted slow syncs when multiple devices with
1788 a different deviceId connect. Note that changing the deviceId causes
1789 a slow sync, so you should get client and server in sync before changing
1790 the value, change it, then do a "--sync refresh-from-server".
1793 SyncEvolution 0.7 -> 0.8 alpha 1, 19.04.2008
1794 --------------------------------------------
1795 C++ client library: a snapshot of the development version
1797 Updating user configuration: this version introduces a new, simplified
1798 configuration layout. Old configurations still work. They can be
1799 converted to the new format via a new "--migrate" command line option.
1801 *** WARNING ***: this version uses a different change tracking for
1802 Evolution calendars, task lists and memos. After switching from a previous
1803 release to the current one or vice versa, do a "syncevolution --sync
1804 refresh-from-server" once to reset the change tracking. Not doing so
1805 can result in applying the same changes to the server multiple times
1806 and thus duplicates.
1808 * New configuration file layout: following the freedesktop.org
1809 recommendation, new configurations are stored in
1810 $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
1811 XDG_CONFIG_HOME is not set. The old layout under
1812 $HOME/.sync4j/evolution is still supported.
1814 * New command line options: new configurations can be created by
1815 syncevolution itself (--configure), including setting of all
1816 configuration properties (--sync-property, --source-property).
1817 The configuration can dumped to stdout (--print-config), with or
1818 without comments explaining each property (--quiet). See the
1821 * The "evolutionsource" source property no longer has to be configured.
1822 If left blank, the default client database will be synchronized.
1824 * Selecting which kind of data is to be synchronized under a specific
1825 source name is a lot easier now and the same on all supported
1826 platforms: the SyncEvolution backends can be selected via aliases
1827 (e.g. "contacts") and the format is specified via an optional
1828 MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
1829 that multiple backends are active which can synchronize the same
1830 kind of data, then the right one can be selected by the unique
1831 name of the backend (e.g. "Evolution Address Book").
1833 * New configurations automatically get a random client ID string.
1834 Setting it manually is still possible, but no longer necessary.
1836 * All passwords can be read from stdin at runtime or an environment
1837 variable (see "--sync-property password=?" or README for details).
1838 Both avoids the less secure storing of plain text passwords in the
1839 configuration files (SF #1832458).
1841 * Detached recurrences: meeting series where some occurrences were
1842 modified are now supported. Previously only the main event was
1843 synchronized. All exceptions got lost when copying back from the
1844 server. ***WARNING***: such events are accepted by ScheduleWorld,
1845 but not propagated to other clients. Under investigation.
1847 * Time zone support: the time zones of incoming events are mapped
1848 to native time zone definitions whenever possible. Currently
1849 this works if the TZID follows the Olson naming scheme with a
1850 location at the end. Matching the time zone has the advantage of
1851 being able to update the time zone definition without having to
1852 recreate the event. If matching fails and the VTIMEZONE definition
1853 differs from one already imported earlier, then SyncEvolution works
1854 arounds limitation in Evolution by renaming the time zone.
1855 Previously the new event used the old and most likely out-dated
1856 time zone definition.
1858 ***WARNING***: Evolution itself does not do either of these steps
1859 itself yet, thus importing meeting invitations via Evolution still
1860 fails in some cases. The code implementing the time zone handling
1861 described above was written with inclusion into Evolution itself in
1862 mind; a discussion with the Evolution developers about that is in
1865 * On Maemo/Nokia Internet Tablets, calendar synchronization now
1866 works because the new calendar change tracking no longer depends
1867 on some of the backend calls which used to fail (SF #1734977).
1869 * Added SSL configuration options: certificate checking can be
1870 relaxed or disabled completely (SF #1852647).
1872 * Adding support for new local data sources is easier now. The
1873 SyncEvolution frame work itself never depended on GNOME or
1874 Evolution, only the Evolution data sources did. If you want
1875 support for other ways of storing your data, consider writing
1876 a new data source - it is really easy. See EvolutionSyncSource
1877 or TrackingSyncSource for details.
1879 * Messages are printed to the screen immediately. More readable
1882 * Various other minor changes and fixes.
1885 SyncEvolution 0.6 -> 0.7, 17.12.2007
1886 ------------------------------------
1887 C++ client library: r_6_5_3_1
1889 Updating user configuration: no relevant changes in this release. For those
1890 who haven't done so already, enabling large object support is recommended
1891 (see syncml/config.txt sample configs).
1893 * added port for iPhone and Mac OS X Address Book
1895 * fixed Nokia packaging problem which prevented installation
1896 via the package manager unless it was in "red pill" mode
1899 * sync with eGroupware - lost or messed up telephones: SyncEvolution
1900 incorrectly added TYPE=OTHER to phone numbers sent with e.g.
1901 CELL instead of TYPE=CELL (SF #1796086). Another patch was
1902 required for eGroupware itself to correctly map phone numbers
1903 as sent by SyncEvolution, see Compatibility web page.
1905 * added .deb packages
1907 * adapted calendar event insert/update to Evolution 2.12: the UID needs to be
1908 restored, otherwise the Evolution backend crashes (GNOME issue #488881)
1910 * new feature: if the previous log directory is still available,
1911 then local changes made since last sync can be queried
1912 before starting a sync (new option --status) and will be
1913 printed directly before a sync. Setting the "logdir" option
1914 will automatically keep the most recent logs and database
1917 * added command line options:
1919 Temporarily synchronize the active sources in that mode. Useful
1920 for a 'refresh-from-server' or 'refresh-from-client' sync which
1921 clears all data at one end and copies all items from the other.
1924 The changes made to local data since the last synchronization are
1925 shown without starting a new one. This can be used to see in advance
1926 whether the local data needs to be synchronized with the server.
1929 Suppresses most of the normal output during a synchronization. The
1930 log file still contains all the information.
1933 Prints usage information.
1936 Prints the SyncEvolution version.
1938 * default configurations now reference the normal Evolution databases
1939 ("Personal") thus requiring less changes to use. The account information
1940 is now clearly marked as placeholder which needs to be entered.
1942 * bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
1943 by SyncEvolution (must convert to upper case because vCard 2.1 only allows
1944 that), leading to problems with mapping phone numbers in the Funambol server.
1945 Diagnosed and reported by Paul McDermott, thanks a lot!
1947 * support receiving plain text notes with \n and \r\n line breaks;
1948 always send with \r\n
1950 * added explicit error message when syncevolution is invoked
1951 with incorrect names in the list of sources to synchronize:
1952 previously it silently ignored unknown names
1954 * improved output: less verbose ("extracting" items is now
1955 logged at debug level and thus not normally shown) and more
1956 informative printing of changes (table summarizes number of
1957 changes on client and server, heading for comparison changed
1958 to make it clear that it shows changes on the client)
1960 * SyncCap is not generated unless syncModes are configured: added
1961 a comment to example config (SF #1764123)
1963 * improved error handling: catch errors during post-processing and
1967 SyncEvolution 0.7-pre2 -> 0.7, 17.12.2007
1968 -----------------------------------------
1969 C++ client library: r_6_5_3_1
1971 * bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
1972 by SyncEvolution (must convert to upper case because vCard 2.1 only allows
1973 that), leading to problems with mapping phone numbers in the Funambol server.
1974 Diagnosed and reported by Paul McDermott, thanks a lot!
1976 * support receiving plain text notes with \n and \r\n line breaks;
1977 always send with \r\n
1979 * added explicit error message when syncevolution is invoked
1980 with incorrect names in the list of sources to synchronize:
1981 previously it silently ignored unknown names
1983 * added stack dumping in case of premature abort;
1984 removed workaround for lost connection to Evolution Dataserver
1985 again because the workaround itself caused random segfaults inside
1989 SyncEvolution 0.7-pre1 -> 0.7-pre2, 08.11.2007
1990 ----------------------------------------------
1991 C++ client library: branch b_v65
1993 Updating user configuration: no relevant changes in this release. For those
1994 who haven't done so already, enabling large object support is recommended
1995 (see syncml/config.txt sample configs). It is required for myFUNAMBOL to
1996 synchronize very large address books and some users have reported segfaults
1997 unless this option was enabled.
1999 * iPhone bug fix: syncing contacts with photos was unreliable (export) and
2000 crashed (import) because the API had not been called correctly
2002 * iPhone + ScheduleWorld: when configured to use vcard3 (recommended!) then
2003 contacts are exchanged as vCard 3.0
2005 * iPhone + ScheduleWorld bugfix: importing vCard 3.0 did not correctly
2006 classify the phone numbers. A sync with the new "--sync refresh-from-server"
2007 option will fix this, assuming that the server has the correct data.
2009 * Evolution: detect a crashed backend and abort SyncEvolution instead of
2012 * adapted calendar event insert/update to Evolution 2.12: the UID needs to be
2013 restored, otherwise the Evolution backend crashes (GNOME issue #488881)
2015 * new feature: if the previous log directory is still available,
2016 then local changes made since last sync can be queried
2017 before starting a sync (new option --status) and will be
2018 printed directly before a sync. Setting the "logdir" option
2019 will automatically keep the most recent logs and database
2022 * added command line options:
2024 Temporarily synchronize the active sources in that mode. Useful
2025 for a 'refresh-from-server' or 'refresh-from-client' sync which
2026 clears all data at one end and copies all items from the other.
2029 The changes made to local data since the last synchronization are
2030 shown without starting a new one. This can be used to see in advance
2031 whether the local data needs to be synchronized with the server.
2034 Suppresses most of the normal output during a synchronization. The
2035 log file still contains all the information.
2038 Prints usage information.
2041 Prints the SyncEvolution version.
2043 * default configurations now reference the normal Evolution databases
2044 ("Personal") thus requiring less changes to use. The account information
2045 is now clearly marked as placeholder which needs to be entered.
2048 SyncEvolution 0.6 -> 0.7-pre1, 17.10.2007
2049 -----------------------------------------
2050 * C++ client library: tag "sdkcpp_6_0_9_1" (same as before)
2051 * added support for Mac OS X/iPhone address book
2052 * fixed Nokia packaging problem which prevented installation
2053 via the package manager unless it was in "red pill" mode
2054 * improved output: less verbose ("extracting" items is now
2055 logged at debug level and thus not normally shown) and more
2056 informative printing of changes (table summarizes number of
2057 changes on client and server, heading for comparison changed
2058 to make it clear that it shows changes on the client)
2059 * example configs were in share/share directory (SF #1767329)
2060 * Nokia 770/800: uninstallable package fixed by setting category
2062 * sync with eGroupware - lost or messed up telephones: SyncEvolution
2063 incorrectly added TYPE=OTHER to phone numbers sent with e.g.
2064 CELL instead of TYPE=CELL (SF #1796086). Another patch was
2065 required for eGroupware itself to correctly map phone numbers
2066 as sent by SyncEvolution, see Compatibility web page.
2067 * SyncCap is not generated unless syncModes are configured: added
2068 a comment to example config (SF #1764123)
2069 * improved error handling: catch errors during post-processing and
2073 SyncEvolution 0.5 -> 0.6, 13.07.2007
2074 ------------------------------------
2075 * C++ client library: tag "sdkcpp_6_0_9_1"
2076 * added support for synchronizing Evolution notes (aka memos) as
2077 plain text where the first line serves as summary; this is the
2078 format understood by ScheduleWorld
2079 * added support for synchronizing Evolution notes (aka memos) as
2080 iCal 2.0 journal; not currently supported by any server and
2082 * revamped example configs and documentation: only one set of
2083 config files for each server is provided, because this is more
2084 likely to be needed by users
2085 * example configs are now installed in share/doc/syncevolution,
2086 enabled message limit and large object support in them
2087 * added support for Nokia 770/800 (aka Maemo):
2088 built with loadable modules so that it works with whatever
2089 backends are installed, improved log handling to accomodate
2090 for limited space on filesystem (see below), some workarounds
2091 * added workaround for Nokia 770:
2092 contacts are not really deleted unless the EDS-Sync with
2093 instant messaging servers is activated; now SyncEvolution
2094 will delete contacts marked as deleted by the GUI before
2095 a sync if it finds any.
2096 WARNING: if you use EDS-Sync and SyncEvolution, then give
2097 EDS-Sync enough time after going online to finish its own
2098 synchronization of modified/deleted contacts before starting
2100 * improved log handling: writing log and database dumps can be
2101 disabled with "logdir=none", verbosity of log is controlled by
2102 "loglevel", better handling of errors during initial database
2104 * added workaround for Evolution bug #455274:
2105 the separator for multiple categories in events and tasks
2106 is not generated and interpreted according to iCalendar 2.0
2107 by Evolution; as a consequence of that items sent to the server
2108 had all categories merged into one and items imported into
2109 Evolution only used one of the catories
2110 http://bugzilla.gnome.org/show_bug.cgi?id=455274
2111 * fixed off-by-one counting of months in backup directory names
2112 * fixed error handling: a failed source was not forced into a slow
2113 sync as required; one failed source prevented saving configs of
2114 not-failed ones and thus forced those into an unnecessary slow
2116 * uses the Funambol C++ testing framework (which is based on the
2117 previous SyncEvolution testing); now creates its configs
2118 and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
2119 also the Evolution databases automatically
2120 * implemented synccompare as pure Perl script using Algorithm::Diff
2121 instead of external diff tool
2122 * synccompare did not figure out width of shell window as it should have
2123 * better error handling if creating the before/after database dumps
2125 * workaround for Funambol 3.0 trailing = parser bug
2129 Old config files from 0.5 or older continue to work, but it is recommended
2130 to set the following options to enable message size limits:
2136 SyncEvolution 0.6pre2 -> 0.6, 13.07.2007
2137 ----------------------------------------
2138 * improved README/HACKING documents
2139 * fixed the new example configs: use event/task for Funambol 6.0,
2141 * added workaround for Evolution bug #455274:
2142 the separator for multiple categories in events and tasks
2143 is not generated and interpreted according to iCalendar 2.0
2144 by Evolution; as a consequence of that items sent to the server
2145 had all categories merged into one and items imported into
2146 Evolution only used one of the catories
2147 http://bugzilla.gnome.org/show_bug.cgi?id=455274
2148 * added workaround for Nokia 770:
2149 contacts are not really deleted unless the EDS-Sync with
2150 instant messaging servers is activated; now SyncEvolution
2151 will delete contacts marked as deleted by the GUI before
2152 a sync if it finds any.
2153 WARNING: if you use EDS-Sync and SyncEvolution, then give
2154 EDS-Sync enough time after going online to finish its own
2155 synchronization of modified/deleted contacts before starting
2159 SyncEvolution 0.6pre1 -> 0.6pre2, 23.04.2006
2160 --------------------------------------------
2161 * C++ client library: tag "sdkcpp_6_0_7" + revision 1.7 of
2162 build/autotools/test/Makefile.am
2163 * added support for synchronizing Evolution notes (aka memos) as
2164 plain text where the first line serves as summary; this is the
2165 format understood by ScheduleWorld, not the iCal 2.0 format
2167 * improved log handling: writing log and database dumps can be
2168 disabled with "logdir=none", verbosity of log is controled by
2169 "loglevel", better handling of errors during initial database
2171 * fixed off-by-one counting of months in backup directory names
2172 * fixed error handling: a failed source was not forced into a slow
2173 sync as required; one failed source prevented saving configs of
2174 not-failed ones and thus forced those into an unnecessary slow
2176 * revamped example configs: only one set of config files for each
2177 server is provided, because this is more likely to be needed
2179 * uses the Funambol C++ testing framework (which is based on the
2180 previous SyncEvolution testing); now creates its configs
2181 and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
2182 also the Evolution databases automatically
2185 SyncEvolution 0.5 -> 0.6pre1, 26.03.2006
2186 ----------------------------------------
2187 * C++ client library: CVS snapshot from 26.03.2006
2188 * added support for synchronizing Evolution notes (aka memos) as
2190 * added --enable-static-cxa = linking C++ runtime statically:
2191 binaries produced for 0.6 will have less external
2192 dependencies than the 0.5 binaries
2193 * added hacks for Maemo/Nokia 770, including a build
2194 mode with dynamically loadable modules (--enable-shared, --enable-maemo,
2195 --with-patched-dbus)
2196 * implemented synccompare as pure Perl script using Algorithm::Diff
2197 instead of external diff tool
2198 * synccompare did not figure out width of shell window as it should have
2199 * better error handling if creating the before/after database dumps
2201 * example configs are now installed in share/doc/syncevolution,
2202 enabled message limit and large object support in them
2203 * workaround for Funambol 3.0 trailing = parser bug
2207 Old config files continue to work, but it is recommended
2208 to set the following options to enable message size limits:
2215 SyncEvolution 0.4 -> 0.5, 12.11.2006
2216 ------------------------------------
2217 * C++ client library revision "syncevolution-0-5":
2218 - added support for sending changes in smaller chunks
2219 ("Large Object Support"): disabled by default, see updated
2220 example configuration
2221 - time is printed with GMT offset so that a server admin in
2222 a different timezone can always figure out how a client log
2223 relates to events on the server
2224 - special item keys as they might be stored in some calendars after
2225 importing non-Evolution events are now properly supported
2226 * bug fix: in 0.4 it was necessary to manually configure the verDTD
2227 or the Funambol 3.0a server would choke on the invalid SyncML during
2228 the second synchronization with SyncEvolution; now this option is set
2230 * added support and testing of transmitting just the changes
2231 from client to server or vice versa; see "one-way-from-server/client"
2232 in example configuration
2233 * fixed/updated comments in the example configuration
2234 * improved automated testing and fixed the problem that CPPUnit was not
2235 found unless it was part of the system
2236 * Now works on Maemo/Nokia 770: minor changes were necessary so that
2237 the system address book can now be selected under the name "<<system>>.
2238 Copying 300 contacts into the Nokia 770 went fine, but any further
2239 attempt to synchronize suffered from timeouts inside the embedded
2240 Evolution Data Server.
2243 SyncEvolution 0.3 -> 0.4, 11.09.2006
2244 ------------------------------------
2245 * C++ client library revision "syncevolution-0-4":
2246 - added support for device information, required by some servers
2247 - fixed incompatibilities with non-Funambol servers
2248 - the user agent string can now be modified in the
2249 spds/syncml/config.txt, but it is recommended to not set
2250 it explicitly. Then SyncEvolution will automatically insert
2251 its current version.
2252 - #305795: for tasks the "text/x-todo" type from the configuration
2253 was sent to servers instead of the correct "text/calendar"
2254 provided by SyncEvolution itself
2255 - sync modes "refresh-client/server" can now be specified as
2256 "refresh-from-client/server" in the config
2257 * updated default syncml/config.txt:
2258 - firstTimeSyncMode has never been implemented in the library,
2259 removed its documentation,
2260 - added documentation for userAgent
2261 - use "refresh-from-client/server"
2262 * SF issue 1511951: support copying changes back from EGroupware
2263 server by not expecting the UID of calendar items to be unmodified
2264 * fixed a bug where after a refresh-from-client sync changes would
2265 be sent to the server again during a two-way sync although the
2266 server already had them
2267 * implemented authentication for Evolution databases
2268 * synccompare was removing too many parts of vCards with
2269 single-value ORG properties
2270 * improved error reporting when selected server is not configured
2271 * changed vCard parser to make it compatible with servers
2272 which send a verbatim semicolon as part of properties where
2273 the semicolon has no special meaning
2274 * If minor errors occur like not being able to insert an
2275 item at the client or server side, then it is reported in the
2276 log and output, but the next synchronization will be a normal
2277 synchronization, not a forced slow one as in previous versions.
2278 The old approach ensured that the problem was noticed and fixed,
2279 but required user assistance. With the new approach synchronization
2280 continues to work, although without fixing the root cause of
2282 * Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
2283 for calendars and task lists not all deleted items were reported
2284 at once thus a single synchronization would only tell the server
2285 about a subset of the changes. Repeating the synchronization would
2286 eventually be told of all changes, so now this repetition is built
2287 into the code which queries for changes and a single synchronization
2288 is sufficient as it should be.
2291 SyncEvolution 0.4 pre2 -> 0.4, 11.09.2006
2292 -----------------------------------------
2293 * adapted to C++ client library from CVS head, tagged as syncevolution-0-4:
2294 devinfo.patch patch was merged with several changes to the API
2295 * SF issue 1511951: support copying changes back from EGroupware
2296 server by not expecting the UID of calendar items to be unmodified
2299 SyncEvolution 0.4 pre1 -> pre2, 21.08.2006
2300 ------------------------------------------
2301 * C++ client library revision "syncevolution-0-4-pre2":
2302 most patches were merged into CVS head, but .patches/devinfo.patch
2303 still needs to be applied manually when checking out from the
2304 Funambol CVS instead of using the bundled version
2305 * fixed a bug where after a refresh-from-client sync changes would
2306 be sent to the server again during a two-way sync although the
2307 server already had them
2308 * implemented authentication for Evolution databases
2309 * synccompare was removing too many parts of vCards with
2310 single-value ORG properties
2311 * improved error reporting when selected server is not configured
2312 * use 7-bit quoted-printable encoding with explicit UTF-8 charset for
2313 vCard 2.1 to avoid any potential confusion about the content; not
2314 really necessary because SyncML specifies 8-bit UTF-8 as the default
2315 * fix for 0.4 pre 1: sending CHARSET is not allowed (and not
2316 needed) for vCard 3.0, so it was removed again (did not harm
2318 * fix for 0.4 pre 1: sending vCard 2.1 to Synthesis server did
2319 not work because the new device info always mentioned 3.0 as
2320 the preferred format - now the preferred format matches the one
2321 that was configured and that thus will be used.
2324 SyncEvolution 0.3 -> 0.4 pre 1, 2006-08-06
2325 ------------------------------------------
2326 * C++ client library revision "funambol30ga" plus the patches
2327 stored in its ".patches" directory:
2328 - the user agent string can now be modified in the
2329 spds/syncml/config.txt, but it is recommended to not set
2330 it explicitly. Then SyncEvolution will automatically insert
2331 its current version.
2332 - now compatible with additional servers (fixed some SyncML
2333 protocol issues, added support for sending device
2335 - revised API of the client library
2336 - #305795: for tasks the "text/x-todo" type from the configuration
2337 was sent to servers instead of the correct "text/calendar"
2338 provided by SyncEvolution itself
2339 - sync modes "refresh-client/server" can now be specified as
2340 "refresh-from-client/server" in the config
2341 * updated default syncml/config.txt:
2342 - firstTimeSyncMode has never been implemented in the library,
2343 removed its documentation,
2344 - added documentation for userAgent
2345 - use "refresh-from-client/server"
2346 * changed vCard parser to make it compatible with servers
2347 which send a verbatim semicolon as part of properties where
2348 the semicolon has no special meaning
2349 * If minor errors occur like not being able to insert an
2350 item at the client or server side, then it is reported in the
2351 log and output, but the next synchronization will be a normal
2352 synchronization, not a forced slow one as in previous versions.
2353 The old approach ensured that the problem was noticed and fixed,
2354 but required user assistance. With the new approach synchronization
2355 continues to work, although without fixing the root cause of
2357 * Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
2358 for calendars and task lists not all deleted items were reported
2359 at once thus a single synchronization would only tell the server
2360 about a subset of the changes. Repeating the synchronization would
2361 eventually be told of all changes, so now this repetition is built
2362 into the code which queries for changes and a single synchronization
2363 is sufficient as it should be.
2364 * Made it compile on Maemo 2.0, the Nokia 770 build environment, by
2365 adding "--disable-ecal". Not tested yet, though.
2368 SyncEvolution 0.3, 2006-06-27
2369 -----------------------------
2371 * added syncing of calendars and tasks as iCalendar 2.0
2372 * added syncing of contacts as vCard 3.0
2373 * tested extensively with sync.scheduleworld.com and
2374 added an example configuration for it
2375 * uses C++ client library revision "wmplugin_3_0_20"
2376 which contains several bug fixes, among them proper
2377 support for special characters and memory handling
2379 * much nicer listing of changes made during a sync,
2380 handled by the improved "synccompare" utility script
2381 (formerly known as "normalize_vcard")
2382 * improved automated testing
2385 SyncEvolution 0.2, 2006-03-19
2386 -----------------------------
2388 * added automatic backup mechanism and log storage,
2389 see "Automatic Backups and Logging".
2390 * output no longer is the original log data, but rather
2391 a human-readable report of errors and synchronization
2393 * "normalize_vcard" can now also compare two .vcf files
2395 * improved unit tests to catch more errors
2396 * hide certain differences in vcards coming back from
2397 the server: duplication of extended vcard properties,
2399 * fixed client library problems:
2400 see http://forge.objectweb.org/tracker/?group_id=96&atid=100096
2402 * added some more problems to the "Known Problems" section
2405 SyncEvolution 0.1, 2006-03-13
2406 -----------------------------