1 SyncEvolution 1.0 beta 2 -> beta 3, 20.04.2010
2 ==============================================
4 One more step towards the long awaited 1.0. 0.1 was released over four
5 years ago and the 1.0 cycle started some time last summer. Beta 3 is
6 considered feature complete at this point.
8 Automatic synchronization is supported by the syncevo-dbus-server (MB
9 #6378). When that is installed, it will be started as part of a user
10 session and keep running to trigger syncs in the
11 background. Notifications are emitted when syncs start, end or fail
14 Automatic synchronization can be enabled separately for each peer
15 ("autoSync=0/1", off by default), will be done at regular intervals
16 ("autoSyncInterval=30" minutes) when online long enough
17 ("autoSyncDelay=5" minutes). That last option ensures that a) an
18 automatic sync does not attempt to use a network connection unless it
19 was already active and b) hopefully is also around long enough to
22 Detecting online status depends on ConnMan. Without it, SyncEvolution
23 assumes that the network is available. For Bluetooth it is enough to
26 When SyncEvolution is compiled with a backend sync daemon
27 ("syncevo-dbus-server"), then conceptually that daemon controls the
28 configuration and coordinates manually and automatically started sync
29 sessions. Previously, the command line tool bypassed the daemon by
30 running operations itself. Now it can hand over the command line
31 parameters to the daemon to be executed there ("--daemon=yes", the
32 default if the daemon is available; MB #5043). Command line parameters
33 and output of "syncevolution" are the same as before. Note that the
34 daemon only runs one operation at a time, which delays the command
35 line client when the daemon is busy. For testing purposes (like
36 running a client which talks to a local server in the daemon) it is
37 still possible to ignore the daemon (--daemon=no).
39 Thanks to fixes and improvements in both Synthesis engine and
40 SyncEvolution, suspend and resume are fully supported in client and
41 server (MB #2425). Previously it failed in some cases, as mercilessly
42 exposed by our automated testing. Now all of these tests pass. The
43 HTTP server now also handles message resends by clients correctly.
45 Direct synchronization with older phones (like Sony Ericsson K750i)
46 can be started now by switching to an older version of the SyncML
47 standard ("SyncMLVersion" property, MB #9312). No further
48 interoperability testing with such phones has been done at this
49 time. When acting as client, that same property allows talking to
50 older SyncML servers, like desknow.com.
52 A minor workaround and the right configuration make it possible to
53 synchronize with Nokia N85 and probably also other S60
54 devices. Added a template for "Nokia S60". Also made the template
55 for "Nokia N900" accessible in the GTK GUI.
57 Because determining which configuration works for a phone involves
58 a lot of trial-and-error, the new "syncevo-phone-config" script
59 automates that process.
63 * Mobical.net (and other, similar services): fix vCalendar 1.0 alarm
64 specifications before importing them (MB #10458)
65 * Nokia N900: added a config template for it and disabled the redundant
66 RespURI when using Bluetooth. Preliminary testing shows that this solves
67 some of the issues seen before (MB #10224).
68 * workaround for Evolution 2.30: "timezone cannot be retrieved because it
69 doesn't exist" is triggered incorrectly when importing non-standard
70 timezone definitions because libecal change an error code (MB #9820)
71 * "syncevo-http-server" HTTP server script is included in normal install
72 * syncevolution.org binaries: finally solved the libbluetooth3
73 incompatibility (MB #9289). Binaries of beta 2 crashed on more
74 recent distros because of that.
75 * SyncML client and Bluetooth: a mobile device running SyncEvolution
76 creates a configuration automatically (MB #6175). The peer contacting
77 us has to use the standard SyncEvolution URIs (addressbook, calendar,
79 * command line: when dealing with the shared non-peer part of a config,
80 it checks for properties which are unsuitable only prints
82 * GTK GUI: improved setup of devices, automatic sync switch,
83 some fixes for crashes and other tweaks
84 * Nokia 7210c: send time as UTC instead of relying on time zone
85 information (MB #9907).
86 * command line: setting up a configuration for a "SyncEvolution"
87 server on a client was not possible because the "SyncEvolutionClient"
88 configuration was picked instead (MB #10004). The latter has to
89 be used when configuring a SyncEvolution server to talk to a
91 * restore: no longer updates the time of the backup (MB #9963)
92 * various minor improvements and fixes, see ChangeLog
95 * The new "RetryInterval" property causes messages to be resent
96 after 2 minutes (increased from 1 minute in previous 1.0 betas).
97 At least the Funambol server is known to not handle this correctly
98 in all cases (http://funzilla.funambol.com/show_bug.cgi?id=7910).
99 So in the Funambol config template the interval is set to zero,
100 disabling the feature. Enabling or disabling the feature must
101 be done manually in existing configurations.
103 SyncEvolution 1.0 beta 1 -> beta 2, 23.02.2010
104 ==============================================
106 Several new features and some bug fixing. Despite some open issues
107 (see below), this release is ready for getting packaged in staging
108 areas of distros as replacement for 0.9.2.
110 As before, documentation for 1.0 is only available in the
111 "Development" section of syncevolution.org, including HOWTOs for
112 setting up the HTTP SyncML server and phones manually.
114 Setting up a phone became a bit easier with beta 2, because
115 SyncEvolution is now integrated with the GNOME Bluetooth panel: once a
116 device with SyncML client support is paired, a button offers to bring
117 up the sync-UI and configure or synchronize with that device. We do a
118 fuzzy match against the Bluetooth device name to find a suitable
119 template (not manufacturer/model, because that is not readily
120 available). Still not many (read: hardly any) templates available,
123 The binaries on syncevolution.org are compiled with Bluetooth support.
124 libbluetooth2 or libbluetooth3 should be installed, but are not
125 essential. If there is no suitable version of it, the Bluetooth
126 channel has to be selected manually as part of the syncURL.
128 Unexpected slow syncs are prevented by default, in contrast to beta 1
129 where this feature was available but turned off. When an unexpected
130 slow sync is detected in a client, users have to follow the
131 instructions provided by the command line or sync-ui and choose how to
132 proceed (explicitly request slow sync, refresh from server or client,
133 restore from backup). SyncEvolution as server currently cannot prevent
134 slow syncs, even when initiating the sync with a phone.
136 In preparation for syncing automatically, logdir and database handling
137 was improved considerably. Backups use less disk space because
138 identical files share the same file content via hard links. This also
139 speeds up the synccompare Perl script. Database dumps and the
140 corresponding comparison are delayed until the session really runs,
141 which avoids doing needless work a) when the server a client tries to
142 contact is unreachable or down and b) by only including sources that
143 are really in use during a sync on the server side.
145 The Synthesis XML configuration was split up into different parts
146 which are assembled from /usr/share/syncevolution/xml. Files in
147 ~/.config/syncevolution-xml override and extend the default files,
148 which my be useful when adding support for a new phone.
151 Summary of changes since 1.0 beta 1:
153 * sync-ui: recovery dialog (MB #8050), device setup, config usable with
154 long strings (MB #9278), fixed displaying of source phases during sync
156 * sync-ui + syncevo-dbus-server: integration with Bluez to detect paired
157 devices (MB #9216, MB #7089), select template based on device name (MB #7838),
158 detect network and Bluetooth connectivity (only with ConnMan, MB #7700),
159 passwords stored in GNOME keyring by syncevo-dbus-server are shown with
160 dots in sync-ui (MB #9169)
161 * Evolution addressbook backend: avoid picking CouchDB, second try (MB #7877)
162 * Evolution calendar backend: minor fix for change tracking when deleting
163 a single instance of a recurring event
164 * build fixes: Bluetooth compatibility (MB #9289), use libical _r variant
165 of calls because 0.43 has issues in the normal version, conflict with
166 system libsynthesis and libsmltk (MB #9811)
167 * Horde: avoid confusing the server with a deviceId that starts like the
168 ones used in old Funambol clients, helps with calendar sync (MB #9347)
169 * better reporting when SyncEvolution dies during a sync (only happend once
170 when it wasn't installed properly, but still... MB #9844)
171 * performance improvements: synccompare much faster/database dumps consume
172 less disk space/more intelligent about expiring obsolete session directories
173 and backups/database accesses are reduced in several backends (MB #7708),
174 shorter logs (MB #8092)
175 * slow sync detection: now also works in the case where the client detects
176 an anchor mismatch and enabled by default (MB #2416)
177 * OBEX transport: some error handling changes and removal of polling, now
178 also possible via sync-ui + syncevo-dbus-server (MB #9436)
179 * API changes: SyncSource introduces an "isEmpty" operation which is
180 needed for the slow sync detection
181 * SyncML: split up configuration (MB #7712), increased default message size
182 because the old one might have been too small for large DevInf structures
183 * several fixes for virtual data sources ("calendar+todo"): now works
184 on client side, fixed naming on server (MB #9664), fixed error message
185 for slow sync detection, supported in combination with sync-UI (MB #9535)
186 * fixes for shared configuration layout: finding sessions of peers in
187 non-default context, adding sources affected peers in the same context
188 (MB #9329), wrong context during --configure when using shortcut for peers
189 in non-default context (MB #9338)
192 Known gaps for 1.0 final and beyond:
194 Redesigned and reimplemented D-Bus API, required by sync-UI:
195 - 'syncevolution' command line tool bypasses D-Bus server and runs
196 sync sessions itself (MB #5043)
197 - availability of peers not detected when using NetworkManager
198 (connected for HTTP, paired for Bluetooth; MB #7700)
200 SyncML server in general:
201 - suspend/resume support is untested (MB #2425)
202 - the progress events and statistics reported for a SyncML client
203 are not generated when running as SyncML server, will require
204 a fair amount of refactoring in the Synthesis engine (MB #7709)
207 - a configuration must be created for each peer manually, including
208 a remoteDeviceId value that contains the peer's SyncML device ID
211 OBEX SyncML server ("sync with phones"):
212 - does not support phones which require a SAN 1.0 message (MB #9312)
213 - determining a working configuration for an unknown phone requires
214 a bit of experimenting, which should be automated (MB #9862)
217 - parsing of SAN message is rudimentary and depends on an existing local
218 configuration, needs to be refined depending on which SyncML server software
219 it is meant to work with (MB #6175)
221 Automatic sync (MB #6378):
222 - no support for the various server push notification mechanisms
223 - no intelligent detection of local changes
224 - no regular background sync, development is in progress
226 Upgrading from 1.0 beta 1: moving back and forth should work seamlessly
227 Upgrading from 0.9.x: see under beta 1
230 SyncEvolution 0.9.2 -> 1.0 beta 1, 26.01.2010
231 ==============================================
233 Compared to the current stable release, 0.9.2, this beta release can also:
234 * synchronize directly with a phone over Bluetooth/OBEX
235 * accept Bluetooth/OBEX connections in cooperation with obexd 0.19
236 * run SyncEvolution as a rudimentary HTTP SyncML server
238 These feature were already available in a source-only 1.0 alpha
239 release. For the beta, we fixed some issues (nothing major)
240 and in addition to the source, also make binaries available. As
241 before, we hope to get feedback on where we are going with 1.0 and its
242 SyncML server and direct synchronization features. If you want to get
243 involved, now is a good time because a) there is something which works
244 and b) there is still time to influence the final 1.0, scheduled for
247 Documentation of the new features can be found in the "Development"
248 section (http://syncevolution.org/development) for HOWTOs or ask on
249 the mailing list (http://syncevolution.org/support).
251 Here is a more complete list of features compared to the stable
252 release. The full (and up-to-date) list can be retrieved from the
253 Moblin Bugzilla (MB) issue tracking system with this query:
254 http://bugzilla.moblin.org/showdependencytree.cgi?id=7892&hide_resolved=0
255 For changes compared to the 1.0 alpha please consult the
258 Implemented features are marked with a plus +, open ones with a minus -.
261 + now works thanks to a workaround for anchor handling (MB #2424)
262 - only contacts tested because everything is considered legacy
265 Slow sync handling (MB #2416)
266 + Unexpected slow syncs can be detected when running as client and
267 if configured (see "preventSlowSync"), abort the session so that
268 the situation can be analyzed. A refresh from client or server
269 might be more suitable. Because this required manual intervention
270 by the user, the feature is off by default.
271 - Catching slow syncs does not work yet when running as server and
272 in one corner case in a client.
275 + settings for HTTP servers are now done inside the list of
276 all configs and server templates instead of poping up a
278 + uses the new D-Bus API
279 + no longer uses private gconf key to select default peer,
280 replaced by "defaultPeer" in SyncEvolution config
281 + added recovery features like handling of unexpected slow syncs (MB #2416)
282 - restoring from backup only supported by command line (MB #8050)
283 - spinner to indicate network activity missing (MB #2229)
284 - interactive password request not implemented yet (MB #6376)
287 + fixed printing of rejected items (MB #7755)
288 + improved error reporting (textual descriptions instead of plain
289 error codes MB #2069, partial success MB #7755, record and show
290 first ERROR encountered MB #7708)
291 + can create new sources (MB #8424)
293 Redesigned and reimplemented D-Bus API, required by sync-UI:
294 + central syncevo-dbus-server controls configurations and sync sessions:
295 http://syncevolution.org/development/direct-synchronization-aka-syncml-server
296 + accepts incoming SyncML connection requests and messages received by
297 independent transport stubs (obexd, HTTP server, ...)
298 + can be used by multiple user interfaces at once
299 + fully documented, see src/dbus/interfaces
300 + no longer depends on dbus-glib with hand-written glue code for C++,
301 instead uses gdbus plus automatic C++ binding generated via C++ templates
302 - 'syncevolution' command line tool bypasses D-Bus server and runs
303 sync sessions itself (MB #5043)
304 - availability of peers not detected (connected for HTTP, paired for
306 - Bluetooth peers can only be configured via command line (MB #9216)
308 Revised configuration layout (MB #8048, design document at
309 http://syncevolution.org/development/configuration-handling):
310 + several peer-independent sync and source properties are shared
311 between multiple peers
312 + they can be accessed without selecting a specific peer, by using an
313 empty config name or with the new "@<specific context>" syntax
314 + user interface in command line and D-Bus API unchanged
315 + old configurations can be read and written, without causing
316 unwanted slow syncs when moving between stable and unstable
317 SyncEvolution versions
318 + old configurations can be migrated with the "--migrate" command
319 line switch; however, then older SyncEvolution can no longer
320 access them and migrating more than one old configuration causes
321 the second or later configuration to loose its "deviceId" property
322 (which is shared now), causing a slow sync once
323 + config names may contain characters that are not allowed in the
324 file names used for the underlying files; will be replaced with
325 underscores automatically (MB #8350)
326 - users of the sync-ui will not know about the --migrate option,
327 so if they have only one configuration, it should be migrated
330 SyncML server in general:
331 + incoming connections are accepted by syncevo-dbus-server via
332 the D-Bus Connection API; because this is a "personal SyncML
333 server", all local data is meant to belong to a single user,
334 and only one sync session can be active at any point in time
335 + different users on the same machine can run their own server,
336 as long as they ensure that listening for incoming connections
337 does not conflict with each other (different port in HTTP)
338 + the session of an HTTP client which stops sending messages expires
339 after "RetryDuration" seconds instead of blocking the server
341 - suspend/resume support is untested (MB #2425)
342 - automatic backup of server databases is inefficient (done
343 even when client is not allowed to do a sync; always backs up
344 all data, including sources which are not active; MB #7708)
345 - the progress events and statistics reported for a SyncML client
346 are not generated when running as SyncML server, will require
347 a fair amount of refactoring in the Synthesis engine (MB #7709)
348 - the Synthesis server example config contains workarounds for
349 specific phones, but SyncEvolution does not currently use those;
350 adding new workarounds should be made very simple (MB #7712)
353 + test/syncevo-http-server.py provides an experimental HTTP server
354 based on Python and Twisted
355 - a configuration must be created for each peer manually, including
356 a remoteDeviceId value that contains the peer's SyncML device ID
359 OBEX SyncML server ("sync with phones"):
360 + peers are contacted via a builtin transport that uses libopenobex (MB #5188)
361 + Server Alerted Notification (SAN) message triggers syncs; server ID
362 and URI are configurable (MB #7871)
363 - a configuration must be created for each peer manually, including
364 a syncURL that contains the peer's MAC address (MB #7838)
365 - should be integrated into the system's Bluetooth pairing (MB #7089)
368 + obexd 0.19 contains a plugin which passes SyncML messages to syncevo-dbus-server
369 - parsing of SAN message is rudimentary and depends on an existing local
370 configuration, needs to be refined depending on which SyncML server software
371 it is meant to work with (MB #6175)
373 Automatic sync (MB #6378):
374 - no support for the various server push notification mechanisms
375 - no intelligent detection of local changes
376 - no regular background sync
377 - depends on safe handling of concurrent editing, which is blocked
378 by merging of a new Evolution Data Server API (MB #3479)
380 Upgrading from 0.9.x:
382 * Upgrading and downgrading should work seamlessly when using existing
383 configurations. But this being an alpha, better ensure that you have
384 backups of both your data and your configurations in
385 ~/.config/syncevolution.
387 * The new configuration layout is only used when creating new
388 configurations or explicitly invoking "syncevolution --migrate" (see
389 above). Such configs cannot be used by older SyncEvolution releases.
392 SyncEvolution 0.9.1 -> 0.9.2, 23.01.2010
393 ========================================
394 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
396 New Maemo 5/Nokia N900 calendar backend and packages, brought to you
397 by Ove Kaaven. These packages are available via the Maemo extras-devel
398 repository. Bug reports can be submitted both in http://bugs.maemo.org
399 and http://bugzilla.moblin.org. The latter is the tracker that is
400 monitored by the SyncEvolution team, which will also incorporate
401 patches. In general, Ove is the main maintainer of the new backend.
403 New XMLRPC backend, contributed by Franz Knipp/M-otion. It accesses
404 data inside a web service via a SOUP API and thus allows synchronizing
405 it via SyncML. See src/backends/xmlrpc/README for more information.
407 Added templates for Oracle Beehive and Goosync. Both are not currently
408 part of the regular testing.
410 In addition to that, 0.9.2 is an incremental update, with several
411 updated translations and addressing all of the issues reported by
414 - vCard dialects: added "X-GENDER/X-SIP" (used by Maemo) and X-SKYPE
415 (used by Maemo and recent Evolution, MB #8948)
417 - Evolution Address Book: avoid picking CouchDB by default (MB #7877, evolution-couchdb #479110)
419 CouchDB address books are appended at the end of the local database
420 list, otherwise preserving the order of address books. The initial
421 release of evolution-couchdb in Ubuntu 9.10 is unusable because it
422 does not support the REV property.
424 Reordering the entries ensures that the CouchDB address book is not
425 used as the default database by SyncEvolution, as it happened in
426 Ubuntu 9.10. Users can still pick it intentionally via
429 - installation: templates now in $(datadir)/syncevolution/templates (MB #7808)
430 This are files used internally, meant to be extended by distributors.
431 Storing them in /etc is no longer supported, but also unlikely to be
432 needed. Added warnings that these files cannot simply be copied into
433 .config because they are not complete configurations.
435 - installation: "make install" populates $(docdir) (MB #7168)
436 Previously README, COPYING, NEWS, and server READMEs were copied
437 into syncevolution.org .tar.gz/.deb/.rpm archives as part of
438 custom make rules and thus missing in other installations.
440 - building: --with-boost had no effect (MB#7856), detect incorrect
441 use of --with-synthesis-src, workaround for lack of --with-docdir
442 in older autoconf, do not unnecessarily depend on CPPUnit header
443 files and GNOME/EDS libs (MB#8338), workaround for libtool bug
444 ("cannot install `syncecal.la' to a directory not ending in ..."),
446 - clarified documentation of properties for file backend (MB#8146)
448 - stderr redirection: detect "error" messages and show them (MB#7655)
449 The "GConf Error: Failed to contact configuration server..." error
450 message was suppressed by the code which catches noise from libraries
451 invoked by SyncEvolution. Now it is printed as ERROR, making it
452 easier to detect why running SyncEvolution inside cron needs
454 http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/
456 - importing contacts from SyncML server without full name (MB#5664):
457 Evolution expects the name to be set and shows an empty string if
458 it is missing. Now the name is re-added by appending first, middle and
461 - Evolution calendar: work around 'cannot encode item' problem (MB #7879)
462 Happens when the calendar file contains broken events which reference
463 a timezone that is not defined. Now the event is treated like one in
466 - "http_proxy" env variable is supported regardless which HTTP transport
469 - avoid crashes when libecal sets neither error nor pointer (MB#8005)
470 and when aborting a running sync in the syncevo-dbus-server (MB#8385)
472 - "--status" output: fixed missing total item counts (MB #9097)
475 Upgrading from 0.9.1:
477 * nothing to do, upgrading and downgrading should work seamlessly
480 SyncEvolution 0.9 -> 0.9.1, 26.10.2009
481 ======================================
482 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
484 Mobical and Memotoo are now officially supported.
486 Memotoo uses vCard 2.1 with several Evolution specific extensions. It
487 uses iCalendar 2.0, however, without actually supporting the advanced
488 features of it. Times are converted to UTC and meeting information are
491 Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
492 result that many properties used in Evolution are not supported by the
493 server. In particular calendar support is very limited (known issues
494 when events are in time zones different from the one selected locally
495 and on the server, no support for meetings). For details see
498 *** Beware *** that the Mobical SyncML password is *not* the same as
499 the one for their web site. Log into mobical.net, then go to "my accounts
500 >> configure new device >> manual settings" to find the SyncML
503 It is now possible to compile database backends outside of
504 SyncEvolution, install them and have SyncEvolution use them
505 automatically like any other backend. The backend API has been
506 enhanced considerably. For example, backend developers have
507 access to a modular set of utility classes that can be mixed
508 into a specific implementation. Backends can access the internal
509 Synthesis representation directly and therefore no longer need
510 their own vCard/vCalendar/iCalendar parser.
512 The sqlite demo backend can be enabled and compiled again with
513 --enable-sqlite. It demonstrates how to map directly from the
514 Synthesis field list to some internal format (an SQLite database
515 schema in this case).
519 * Resend messages to cope with intermittent loss of network
520 connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
521 and "ResendDelay" configuration properties for details.
523 * SyncEvolution command line uses the GNOME keyring when
524 the new --keyring option is given.
526 * The logging of added and updated items was enhanced. Events,
527 tasks and memos are logged with a short description instead of
528 just the local ID. The description for contacts was improved.
530 * Receiving photos from Mobical failed because Mobical
531 does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
532 Sending photos worked, but added a few bytes of garbage
533 at the end of each photo (typically ignored when showing).
534 Parser was made more tolerant by Synthesis and encoder bug
537 * Task priorities used by Mobical and Evolution did not match:
538 vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
539 SyncEvolution now translates between the two ranges, with
540 some information getting lost when talking to a peer which
541 only supports the smaller range.
543 * Importing work and home phone numbers from Google into desktop
544 Evolution works better, because SyncEvolution now adds the "VOICE"
545 flag expected by Evolution (MB#6501).
547 * SSL certificate checking with Google is enabled by default
548 and enabled in Moblin, because libsoup in that distro has
549 the necessary fix. Without that fix, all connection attempts
550 fail. The binaries on syncevolution.org are compiled with
551 --disable-ssl-certificate-check, so users who want the
552 additional security must enable it.
554 * .rpms on syncevolution.org no longer specify a dependency
555 on certain Perl features. This depencency was a problem on
556 Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
557 binaries are avoided for real this time (MB#6552).
559 * Some sync-UI enhancements (describe sync services, avoid crash
560 with very long input in some of the text boxes (MB#5219), set
561 application icon, improved some strings).
563 * sync-UI: now disables sources which are not supported when
564 setting up a configuration, like memos on Moblin (MB #6672).
565 Previously the source was enabled, which prevented using
566 using the configuration as-is on the command line.
568 * The sync UI allowed to enable calendar and task synchronization
569 with Google although Google does not support that (MB#5871).
570 In new installations this is prevented by clearing the URI
571 for those data categories.
573 * Trying to remove a non-existent configuration via the command
574 line now raises an error, to catch typos (MB #6673).
576 * Improved checks which logs in the logdir belong to the current
579 * Improved sanity checking of integer configuration parameters
582 * Spelling fix: "aboring" => "aborting"
587 * Mobical and Memotoo do not have a description in the GUI yet.
589 * ZYB.com is not supported because of a known anchor handling
590 problem in the server (MB#2424).
595 * nothing to do, upgrading and downgrading should work seamlessly
598 SyncEvolution 0.9.1 beta 2 -> 0.9.1, 26.10.2009
599 ===============================================
600 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
604 * spelling fixes in NEWS file (--source-type => --source-property)
606 * improved autotools compilation of libsynthesis
609 SyncEvolution 0.9.1 beta 1 -> 0.9.1 beta 2, 19.10.2009
610 ======================================================
611 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
615 * Receiving photos from Mobical failed because Mobical
616 does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
617 Sending photos worked, but added a few bytes of garbage
618 at the end of each photo (typically ignored when showing).
619 Parser was made more tolerant by Synthesis and encoder bug
622 * Task priorities used by Mobical and Evolution did not match:
623 vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
624 SyncEvolution now translates between the two ranges, with
625 some information getting lost when talking to a peer which
626 only supports the smaller range.
628 * The workaround for detecting an endless stream of Alert 222
629 messages (caused by misbehavior of certain servers when
630 a specific message has to be resent) aborted certain
631 valid (albeit somewhat pathologic) sync sessions. Improved
632 the heuristic so that it still catches the real loop without
633 aborting in that other case.
635 * sync-ui: now disables sources which are not supported when
636 setting up a configuration, like memos on Moblin (MB #6672).
637 Previously the source was enabled, which prevented using
638 using the configuration as-is on the command line.
640 * .rpms on syncevolution.org no longer specify a dependency
641 on certain Perl features. This depencency was a problem on
642 Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
643 binaries are avoided for real this time (MB#6552).
645 * Trying to remove a non-existent configuration via the command
646 line now raises an error, to catch typos (MB #6673).
648 * Message resend options: added sanity checks to catch negative
649 values, clarified that duration is given in seconds, 0s resend
650 interval disables resending (MB #6500).
652 * Spelling fix: "aboring" => "aborting"
655 SyncEvolution 0.9 -> 0.9.1 beta 1, 06.10.2009
656 =============================================
657 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
659 Mobical and Memotoo are now officially supported.
661 Memotoo uses vCard 2.1 with several Evolution specific extensions. It
662 uses iCalendar 2.0, however, without actually supporting the advanced
663 features of it. Times are converted to UTC and meeting information are
666 Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
667 result that many properties used in Evolution are not supported by the
668 server. In particular calendar support is very limited (known issues
669 when events are in time zones different from the one selected locally
670 and on the server, no support for meetings). For details see
673 *** Beware *** that the Mobical SyncML password is *not* the same as
674 the one for their web site. Log into mobical.net, then go to "my accounts
675 >> configure new device >> manual settings" to find the SyncML
678 It is now possible to compile database backends outside of
679 SyncEvolution, install them and have SyncEvolution use them
680 automatically like any other backend. The backend API has been
681 enhanced considerably. For example, backend developers have
682 access to a modular set of utility classes that can be mixed
683 into a specific implementation. Backends can access the internal
684 Synthesis representation directly and therefore no longer need
685 their own vCard/vCalendar/iCalendar parser.
687 The sqlite demo backend can be enabled and compiled again with
688 --enable-sqlite. It demonstrates how to map directly from the
689 Synthesis field list to some internal format (an SQLite database
690 schema in this case).
694 * Resend messages to cope with intermittent loss of network
695 connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
696 and "ResendDelay" configuration properties for details.
698 * The logging of added and updated items was enhanced. Events,
699 tasks and memos are logged with a short description instead of
700 just the local ID. The description for contacts was improved.
702 * The sync UI allowed to enable calendar and task synchronization
703 with Google although Google does not support that (MB#5871).
704 In new installations this is prevented by clearing the URI
705 for those data categories.
707 * Importing work and home phone numbers from Google into desktop
708 Evolution works better, because SyncEvolution now adds the "VOICE"
709 flag expected by Evolution (MB#6501).
711 * SyncEvolution command line uses the GNOME keyring when
712 the new --keyring option is given.
714 * SSL certificate checking with Google is enabled by default
715 and enabled in Moblin, because libsoup in that distro has
716 the necessary fix. Without that fix, all connection attempts
717 fail. The binaries on syncevolution.org are compiled with
718 --disable-ssl-certificate-check, so users who want the
719 additional security must enable it.
721 * syncevolution.org binaries should be compatible with a wider
722 range of Evolution releases again (MB#6552).
724 * Some sync UI enhancements (describe sync services, avoid crash
725 with very long input in some of the text boxes (MB#5219), set
726 application icon, improved some strings).
728 * Improved checks which logs in the logdir belong to the current
731 * Improved sanity checking of integer configuration parameters
736 * Mobical and Memotoo do not have a description in the GUI yet.
738 * ZYB.com is not supported because of a known anchor handling
739 problem in the server (MB#2424).
742 SyncEvolution 0.8.1 -> 0.9, 12.08.2009
743 --------------------------------------
744 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
746 This is a major new release, with first steps towards further improvements.
747 From this release on, the Synthesis SyncML engine will be the
748 underlying SyncML and data conversion engine.
750 A native GTK GUI is now included. The "sync-ui" program depends on a
751 backend D-Bus service ("synevo-dbus-server") and several auxiliary
752 files. Therefore, it only runs without hacks after installation in
753 /usr (possible with .deb, .rpm and binary .tar.gz archives, and
754 with "sudo make install", after compiling from source). The
755 normal command line tool still works without being installed.
757 In this release, the data handling model was changed from "all items
758 are sent verbatim to the SyncML server" to "parse and convert". The
759 argument for the former approach was that the SyncML server should be
760 the only entity in the system which does data conversion. The previous
761 releases already had to deviate from this approach to accommodate for
762 minor client/server incompatibilities and for vCard 2.1 support, so the
763 new approach just takes it one step further.
765 The main reason for going to full semantic conversion is vCalendar 1.0
766 support. Support by servers for iCalendar 2.0, the only format
767 supported by 0.8.1, is often still incomplete or even non-existent. By
768 doing the conversion on the client side, SyncEvolution is now able to
769 synchronize events and tasks with a wider variety of servers.
771 It is still true that properties not supported by a server cannot
772 be synchronized to other devices, so using a server with full
773 iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
774 information that can be stored only locally is no longer lost when
775 receiving an incomplete update from the SyncML server, thanks to
776 intelligent merging, provided by the Synthesis engine. This depends on
777 an accurate description of the server's capabilities, which might not
778 be provided by all of them. This still needs to be tested in more detail.
780 Interoperability with servers tested extensively in this release.
781 The following servers are now supported:
783 * ScheduleWorld. There is very complete support for Evolution data. The
784 only known issues are around resuming from an interrupted sync.
786 * Google contact sync.
788 Google follows the vCard 2.1 specification, and thus does not support
789 some of the vCard 3.0 additions, nor some of the common extensions. As
790 a result, several properties are not synchronized (nickname, birthday,
791 spouse/manager, URLs, ...). Only one top-level organization seems to
792 be supported. For details, see README.google.
794 Regarding Google's SyncML support, refresh-from-client and
795 one-way-from-client sync modes are not supported. Deleting contacts
796 moves them out of the main address without deleting them permanently. When
797 adding such a contact again, the server discards the data sent by the
798 client and recreates the contact with the data that it remembered.
800 Because SSL certificate checking for Google works only with libsoup
801 if the platform has a patched libsoup
802 (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >=
803 2.28, certificate checking remains turned off by default for
804 Google. If your platform has a suitable libsoup (like Moblin 2.0),
805 then enable checking with:
807 syncevolution --configure \
808 --sync-property SSLVerifyServer=true \
809 --sync-property SSLVerifyHost=true \
812 * Funambol, with calendar and task support. Funambol supports iCalendar 2.0
813 in the current server, so this is enabled in the configuration template.
814 Not all iCalendar 2.0 features are supported by the server,
815 most notably support for meetings (drops attendees), meeting
816 invitations (drops UID), detached recurrences
817 (drops RECURRENCE-ID). See README.funambol for details.
819 Interoperability with the Funambol server was improved by adding
820 support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
821 #2418). Lost ACTION property has a work around (#2422).
823 To enable that support in an existing configuration so that it
824 exchanges items in the more suitable iCalendar 2.0 format, use:
826 syncevolution --configure --source-property sync=two-way \
827 funambol calendar todo
828 syncevolution --configure --source-property type='calendar:text/calendar!' \
830 syncevolution --configure --source-property type='todo:text/calendar!' \
833 Without the exclamation mark, format auto-negotiation would pick the
834 less capable vCalendar 1.0 format because that is marked as preferred
838 *** WARNING ***: After switching from a previous release to the
839 current one, or vice versa, do a "syncevolution --sync
840 refresh-from-server" or "--sync refresh-from-client" (depending on
841 which side has the authoritative copy of the data) once, to get client
842 and server into a consistent state. Not doing so can result in
843 applying the same changes to the server multiple times, and thus
846 Other changes in detail:
848 * vCalendar 1.0 is now supported.
850 * Both libcurl and libsoup can be selected at compile time as HTTP(S)
853 * SF #2101015: Expect: 100-continue header results in 417 Error with proxy.
854 Should no longer occur with the HTTP transports in this release.
856 * SF #1874805: Syncing with Funambol results in loosing all-day property.
857 This now works thanks to the Synthesis data conversion rules.
859 * SF #2586600: Synchronisation with mobical.net fails in 0.8.1.
860 Works now, but there are some known issues (Bugzilla #3009)
861 and therefore mobical.net is not officially supported yet.
863 * SF #2542968: Separator for categories should not be escaped.
864 Done correctly by the Synthesis vcard conversion.
866 * bug fix: Evolution notes with only a summary and no description were
867 not sent correctly to the server. Instead of sending the summary,
868 an empty text was sent.
870 * CTRL-C no longer kills SyncEvolution right away. Instead it
871 asks the server to suspend the session. If that takes too
872 long, then pressing CTRL-C twice quickly will abort the sync
873 without waiting for the server (Warning, this may lead to a
874 slow sync in the next session).
876 * WBXML is enabled by default now, except for Funambol (#2415).
877 Using WBXML reduces message sizes and increases parsing
880 * New configuration templates can be added to
881 /etc/default/applications/syncevolution. These templates may contain
882 icons, which are used by the GUI (no icons shipped right now).
884 * Information about previous synchronization sessions is now stored in a
885 machine-readable format and can be accessed using the new
886 --print-sessions options. The output of this information is more
887 complete and more nicely formatted.
889 * --status now shows not only data changes since the last sync, but also
890 item changes (see README for the difference between the two).
892 * The new --restore option allows restoring local data to the state as
893 it was before or after a sync. For this to work, "logdir" must be set
894 (done by default for new configurations). The format of database dumps
895 was changed to implement this feature. Instead of in a flat file,
896 items are now saved as individual files in a directory. To get the
897 previous format back (for example, to import as one .vcf or .ics file
898 manually) concatenate these files.
900 * With –-remove, one can remove configurations. It leaves data files and
901 the local databases untouched.
906 * The GUI includes the number of locally deleted items during a
907 refresh-from-server sync in the number of "received changes"
908 (#5185), which is a bit misleading. This is a result of #3314,
909 which introduced changes not "received" from the server.
911 * When a network error occurs and the client
912 never notices that the connection to the server was lost,
913 it will hang forever, waiting for the server's reply (#3427).
915 * The file backend now works only for data formats understood
916 by SyncEvolution and the Synthesis engine. Items are parsed
917 when exchanging them among the backend, engine, and server,
918 in contrast to 0.8.1, where item content was not touched
921 * The ZYB.com server sends conflicting sync anchors, so
922 most syncs don't work as expected (#2424).
925 SyncEvolution 0.9 beta 3 hotfix -> 0.9 final, 12.08.2009
926 --------------------------------------------------------
928 Because SSL certificate checking for Google only works with libsoup if
929 the platform has a patched libsoup
930 (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >= 2.28,
931 certificate checking remains turned off by default for Google. If your
932 platform has a suitable libsoup (like Moblin 2.0), then enable
935 syncevolution --configure \
936 --sync-property SSLVerifyServer=true \
937 --sync-property SSLVerifyHost=true \
941 * updated translations
942 * refresh-from-server syncs now report how many items were
943 deleted locally at the start of the sync (Bugzilla #3314).
944 The GUI includes the number of locally deleted items during a
945 refresh-from-server sync in the number of "received changes",
946 which is a bit misleading (#5185).
947 * fixed build issue on Fedora 11/g++ 4.4 (Bugzilla #5061)
948 * some build and test improvements
949 * proper fix for D-Bus error functions (#4919)
950 * improve sync-ui startup time by avoiding an unnecessary
951 copying of the sync config into itself (#5021)
952 * adapted tooltip style (used for SyncML server links) to new
953 Moblin theme, they weren't visible earlier (#5017)
954 * notify zone selector in Moblin 2.0 about sync-ui startup (#4752)
955 * sync-ui: minor layout change for fatal error situation
958 SyncEvolution 0.9 beta 3 -> 0.9 beta 3 hotfix, 23.07.2009
959 ---------------------------------------------------------
961 Found additional Google limitation: the server drops photos if they
962 exceed a certain size. The limit is somewhere between 40KB (okay) and
965 The last-minute workaround for Google/libsoup/gnutls (using http)
966 didn't work because apparently Google only supports SyncML over https
967 (Bugzilla #4551). Now the default configuration template uses https
968 with all certificate checking disabled. A patch for libsoup was
969 submitted to upstream.
971 Some error messages by the "syncevolution" command line tool were not
972 printed (#4676). The root cause was the intentional interception of
973 stderr to hide the noise printed by various system libraries
974 (#1333). Unfortunately remarks about incorrect command line options
975 were among swallowed messages. No good workaround available short of
976 disabling the redirection with SYNCEVOLUTION_DEBUG=1, so let's release
980 * updated translations
983 SyncEvolution 0.9 beta 2 -> 0.9 beta 3, 21.07.2009
984 --------------------------------------------------
985 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
987 Enabled calendar and task synchronization for myFunambol.com.
988 Not all iCalendar 2.0 features are supported by the server,
989 most notably support for meetings (drops attendees), meeting
990 invitations (drops UID), detached recurrences
991 (drops RECURRENCE-ID). See README.funambol for details.
993 Interoperability with the Funambol server was improved by adding
994 support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
995 Bugzilla #2418). Lost ACTION property is worked around (#2422).
997 Synchronization with Google Contacts was enabled and tested.
998 A configuration template for that server is now provided. Google
999 follows the vCard 2.1 specification and thus does not support some
1000 of the vCard 3.0 additions, nor some of the common extensions. As
1001 a result, several properties are not synchronized (nickname, birthday,
1002 spouse/manager, URLs, ...). Only one top-level organization seems to
1003 be supported. For details, see README.google.
1005 Regarding Google's SyncML support, refresh-from-client and
1006 one-way-from-client sync modes are not supported. Deleting contacts
1007 moves them out of the main address without deleting them permanently. When
1008 adding such a contact again, the server discards the data sent by the
1009 client and recreates the contact with the data that it remembered.
1011 SSL certificate checking with libsoup (the default transport) is now
1012 supported (#2431). However, libsoup/gnutls are very strict about SSL
1013 certificate checking and reject version 1 certificates, like the one
1014 used by Verisign for Google (#4551). At the moment the only solution
1015 is to fall back to plain http in the Google configuration template.
1017 CTRL-C no longer kills SyncEvolution right away. Instead it
1018 asks the server to suspend the session. If that takes too
1019 long, then pressing CTRL-C twice quickly will abort the sync
1020 without waiting for the server (warning, this may lead to a
1021 slow sync in the next session).
1023 WBXML is enabled by default now, except for Funambol (#2415).
1024 Using WBXML reduces message sizes and increases parsing
1025 performance. It was not enabled initially in the 0.9 releases in order
1026 to test this new feature more thoroughly. Old configs don't have an
1027 explicit enableWBXML setting and therefore will automatically use the
1030 Various bug fixes and improvements:
1032 * only show servers in GUI which are tested and supported (Bugzilla #3336)
1033 * a single log file is written in .html format (#3474)
1034 * added several translations of the GUI
1035 * lots of testing improvements, build binary packages again
1039 When enabling calendar and todo synchronization with Funambol
1040 in an existing configuration, set the type so that iCalendar 2.0 is used:
1041 syncevolution --configure --source-property sync=two-way funambol calendar todo
1042 syncevolution --configure --source-property type='calendar:text/calendar!' funambol calendar
1043 syncevolution --configure --source-property type='todo:text/calendar!' funambol todo
1045 When creating a configuration anew, this is not necessary because the
1046 configuration template contains those types.
1049 SyncEvolution 0.9 beta 1 -> 0.9 beta 2, 12.06.2009
1050 --------------------------------------------------
1051 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
1053 Major new feature: a GTK GUI! The "sync-ui" program depends on a
1054 backend D-Bus service ("synevo-dbus-server") and several auxiliary
1055 files. Therefore it only runs without hacks after "sudo make install",
1056 in contrast to the normal command line which can be invoked directly.
1058 New configuration templates can be added to
1059 /etc/default/applications/syncevolution. These templates may contain
1060 icons which are used by the GUI (no icons shipped right now).
1062 Information about previous synchronization sessions is now stored in a
1063 machine-readable format and can be accessed via the new
1064 --print-sessions options. The output of this information is more
1065 complete and nicer formatted.
1067 --status now not only shows data changes since the last sync, but also
1068 the item changes (see README for the difference between the two).
1070 The new --restore option allows restoring local data to the state as
1071 it was before or after a sync. For this to work, "logdir" must be set
1072 (done by default for new configurations). The format of database dumps
1073 was changed to implement this feature: instead of in a flat file,
1074 items are now saved as individual files in a directory. To get the
1075 previous format back (for example, to import as one .vcf or .ics file
1076 manually) concatenate these files.
1078 With --remove one can remove configurations. It leaves data files and
1079 the local databases untouched.
1081 Various bug fixes and improvements:
1083 * compiles and works again on Debian Etch if Boost 1.35 is installed
1084 from www.backports.org (without GUI, see Bugzilla #3358)
1086 * uses XDG_CACHE_HOME (= ~/.cache) for logs and database dumps to
1087 avoid interfering with .desktop search in XDG_DATA_HOME; the
1088 directory there is automatically moved when running syncevolution
1091 * re-enabled certain config options (clientAuthType, maxMsgSize, maxObjSize);
1092 normally it shouldn't be necessary to modify those (Bugzilla #3242, #2784)
1094 * fixed error handling of unexpected server reply in libsoup transport
1097 * message logging is enabled at logLevel 3 (XML translation) and 4 (also
1098 original XML or WBXML message)
1100 * GTK GUI fixes since initial Moblin 2.0 beta: only start it once if
1101 libunique is available (Bugzilla #3154), wrap text in change sync service"
1102 button (Bugzilla #2064), sort sources alphabetically in UI (Bugzilla #2070)
1105 SyncEvolution 0.8.1 -> 0.9 beta 1, 13.05.2009
1106 ---------------------------------------------
1107 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
1109 A major new release and the first step towards further improvements:
1110 from this release onwards, the Synthesis SyncML engine is used as the
1111 underlying SyncML and data conversion engine. The focus of this first
1112 beta was to reach the same level of functionality and stability as in
1113 0.8.1. Therefore this beta does not yet bring much new features; this
1114 will be the focus of further beta releases until finally 0.9 will be a
1115 full replacement for 0.8.1.
1117 This release also switches from an "all items are sent verbatim to the
1118 SyncML server" to a "parse and convert" data handling model. The
1119 argument for the former approach was that the SyncML server should be
1120 the only entity in the system which does data conversion. The previous
1121 releases already had to deviate from this approach to accommodate for
1122 minor client/server incompatibilities and for vCard 2.1 support.
1124 The main reason for going to full semantic conversion is vCalendar 1.0
1125 support. Support by servers for iCalendar 2.0, the only format
1126 supported by 0.8.1, is often still incomplete or even non-existent. By
1127 doing the conversion on the client side, SyncEvolution is now able to
1128 synchronize events and tasks with a wider variety of servers.
1130 It is still true that properties not supported by a server cannot
1131 be synchronized to other devices, so using a server with full
1132 iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
1133 information that can only be stored locally is no longer lost when
1134 receiving an incomplete update from the SyncML server thanks to
1135 intelligent merging provided by the Synthesis engine. This depends on
1136 an accurate description of the server's capabilities, which might not
1137 be provided by all of them - still needs to be tested in more detail.
1139 *** WARNING ***: after switching from a previous release to the
1140 current one or vice versa, do a "syncevolution --sync
1141 refresh-from-server" or "--sync refresh-from-client" (depending on
1142 which side has the authoritative copy of the data) once to get client
1143 and server into a consistent state. Not doing so can result in
1144 applying the same changes to the server multiple times and thus
1149 * vCalendar 1.0 is now supported. Because this hasn't been tested that
1150 much yet, events and tasks are still disabled in the Funambol default
1151 configuration (SF #2635973).
1153 * Both libcurl and libsoup can be selected at compile time as HTTP(S)
1154 transport mechanism.
1156 * SF #2101015: Expect: 100-continue header results in 417 Error with proxy
1157 Should no longer occur with the HTTP transports in this release.
1159 * SF #1874805: Syncing with Funambol results in loosing all-day property
1160 This now works thanks to the Synthesis data conversion rules.
1162 * SF #2586600: Synchronisation with mobical.net fails
1163 Should work now because of the different SyncML implementation (untested).
1165 * SF #2542968: separator for categories should not be escaped
1166 Done correctly by the Synthesis vcard conversion.
1168 * bug fix: Evolution notes with only a summary and no description were
1169 not sent correctly to the server: an empty text was sent instead of
1172 Known shortcomings in this release which will be fixed before the
1175 * Verbatim file backups of items on the SyncML server are currently
1176 not possible: the SyncEvolution "file" backend still exists, but
1177 all items are converted by the Synthesis engine and therefore must
1178 be in a format supported by the engine.
1180 * HTTPS can be used with libsoup, but certificate checking is always
1181 disabled. Need to find a portable way to determine where the
1182 certificate file is on various systems.
1184 * Log file handling is not yet unified: the traditional client.log
1185 contains only high-level SyncEvolution log entries. Low-level
1186 SyncML and engine log entries are in sysync_*.html files.
1188 * stdout and stderr messages from system libraries are visible on the
1189 console. 0.8.1 used to redirect those into the client.log to hide
1190 this noise; this will be added again. In the meantime, ignore
1191 messages like "Deadlock potential - avoiding evil bug!". This is
1192 liborbit telling us that it is (hopefully successfully) handling
1196 SyncEvolution 0.8.1 -> 0.8.1a, 15.12.2008
1197 -----------------------------------------
1198 C++ client library: 7.0 plus some patches, see github
1199 repository referenced in configure script.
1201 A minor bug fix release, updating only necessary on Mac OS X.
1203 * #2307976 "Trace/BPT trap - sync failure": occurs randomly in
1204 Mac OS X specific transport layer of the Funambol C++ client
1205 library. Avoided in 0.8.1a by using libcurl as transport,
1209 SyncEvolution 0.8 -> 0.8.1, 11.10.2008
1210 --------------------------------------
1211 C++ client library: 7.0 plus some patches, see github
1212 repository referenced in configure script.
1214 A minor bug fix release, updating not really necessary.
1215 The binary packages for Evolution are built now so that
1216 one package works for all compatible Evolution releases,
1217 including the new Evolution 2.24.
1219 * Evolution calendar: regression in 0.8: one-way sync of virtual
1220 birthday calendar (#2095433). "refresh-from-client" works again
1221 for the birthday calendar. Other modes are not supported.
1222 In contrast to previous releases SyncEvolution now does some
1223 sanity checks that the sync mode is right.
1224 * Mac OS X: removing old logdirs failed (#2087389). Fixed.
1225 * SyncML client library: "Expect: 100-continue" header
1226 resulted in 417 error with certain proxies (#2101015).
1227 Now this header is always disabled; it doesn't make
1228 much sense with SyncML anyway.
1229 * The development of the Funambol C++ client library is now
1230 tracked in a git repository on github.com. Modifications
1231 and tags for SyncEvolution are checked in there. The
1232 configure script checks out the right sources from there
1233 automatically; can be controlled via --with-funambol-src
1235 * Evolution desktop: the version of the used Evolution libraries
1236 is included in the "--version" output and log files.
1237 * Cleaned up README. Kudos to Martin Wetterstedt for pointing
1238 out mistakes in the README and the web site.
1241 SyncEvolution 0.7 -> 0.8, 29.08.2008
1242 ------------------------------------
1243 C++ client library: 7.0 plus compatibility patch for Synthesis
1245 Updating user configuration: this version introduces a new, simplified
1246 configuration layout. Old configurations still work. They can be
1247 converted to the new format via a new "--migrate" command line option.
1249 *** WARNING ***: this version uses a different change tracking for Mac
1250 OS X address book, Evolution calendars, task lists and memos. After
1251 switching from a previous release to the current one or vice versa, do
1252 a "syncevolution --sync refresh-from-server" once to reset the change
1253 tracking. Not doing so can result in applying the same changes to the
1254 server multiple times and thus duplicates.
1256 * New configuration file layout: following the freedesktop.org
1257 recommendation, new configurations are stored in
1258 $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
1259 XDG_CONFIG_HOME is not set. The old layout under
1260 $HOME/.sync4j/evolution is still supported.
1262 * New command line options: new configurations can be created by
1263 syncevolution itself (--configure), including setting of all
1264 configuration properties (--sync-property, --source-property).
1265 The configuration can dumped to stdout (--print-config), with or
1266 without comments explaining each property (--quiet). See the
1269 * The "evolutionsource" source property no longer has to be configured.
1270 If left blank, the default client database will be synchronized.
1272 * Selecting which kind of data is to be synchronized under a specific
1273 source name is a lot easier now and the same on all supported
1274 platforms: the SyncEvolution backends can be selected via aliases
1275 (e.g. "contacts") and the format is specified via an optional
1276 MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
1277 that multiple backends are active which can synchronize the same
1278 kind of data, then the right one can be selected by the unique
1279 name of the backend (e.g. "Evolution Address Book").
1281 * New configurations automatically get a random client ID string.
1282 Setting it manually is still possible, but no longer necessary.
1283 Disabling unavailable data sources is also done automatically.
1285 SyncEvolution checks that the backend is available and there is
1286 at least one database (the first one will be synchronized unless
1287 explicitly changed). If these checks fail and the sync source was
1288 explicitly requested by the user by listing it after the server
1289 name, then an error is printed and no configuration is written.
1290 If the user wants the default setup, then the source is silently
1293 * All passwords can be read from stdin at runtime or an environment
1294 variable (see "--sync-property password=?" or README for details).
1295 Both avoids the less secure storing of plain text passwords in the
1296 configuration files (SF #1832458).
1298 * Detached recurrences: meeting series where some occurrences were
1299 modified are now supported. Previously only the main event was
1300 synchronized. All exceptions got lost when copying back from the
1301 server. Requires a SyncML server which supports this. ScheduleWorld
1302 was extended to do that.
1304 * Fixed segfaults caused by logging certain data. The reason was an
1305 API change in the client library's logging calls which the older
1306 SyncEvolution code hadn't been adapted to. Did not normally occur,
1307 but might have been the reason for SF #1830149 (unconfirmed).
1309 * Time zone support: the time zones of incoming events are mapped
1310 to native time zone definitions whenever possible. Currently
1311 this works if the TZID follows the Olson naming scheme with a
1312 location at the end. Matching the time zone has the advantage of
1313 being able to update the time zone definition without having to
1314 recreate the event. If matching fails and the VTIMEZONE definition
1315 differs from one already imported earlier, then SyncEvolution works
1316 arounds limitation in Evolution by renaming the time zone.
1317 Previously the new event used the old and most likely out-dated
1318 time zone definition.
1320 ***WARNING***: Evolution itself does not do either of these steps
1321 itself yet, thus importing meeting invitations via Evolution still
1322 fails in some cases. The code implementing the time zone handling
1323 described above was written with inclusion into Evolution itself in
1324 mind; a discussion with the Evolution developers about that is in
1327 * On Maemo/Nokia Internet Tablets, calendar synchronization now
1328 works because the new calendar change tracking no longer depends
1329 on some of the backend calls which used to fail (SF #1734977).
1331 * Added SSL configuration options: certificate checking can be
1332 relaxed or disabled completely (SF #1852647).
1334 * Added a new file backend: stores each SyncML item as a separate file
1335 in a directory. The directory has to be specified via the database
1336 name, using [file://]<path> as format. The file:// prefix is
1337 optional, but the directory is only created if it is used.
1339 Change tracking is done via the file systems modification time
1340 stamp: editing a file treats it as modified and then sends it to the
1341 server in the next sync. Removing and adding files also works.
1343 The local unique identifier for each item is its name in the
1344 directory. New files are created using a running count which
1345 initialized based on the initial content of the directory to
1346 "highest existing number + 1" and incremented to avoid collisions.
1348 Although this sync source itself does not care about the content of
1349 each item/file, the server needs to know what each item sent to it
1350 contains and what items the source is able to receive. Therefore
1351 the "type" property for this source must contain a data format
1352 specified, including a version for it. Here are some examples:
1353 - type=file:text/vcard:3.0
1354 - type=file:text/plain:1.0
1356 * Code restructuring: it is now possible to add new backends and thus
1357 write SyncML clients for other kinds of data without touching any
1358 line of code in SyncEvolution itself. All the required interfaces
1359 are documented inside SyncEvolution itself. A HTML documentation can
1360 be built via the new "make doc" target (requires Doxygen and dot).
1362 The SyncEvolution framework itself never depended on GNOME or
1363 Evolution, only the Evolution data sources did. If you want
1364 support for other ways of storing your data, consider writing
1365 a new data source - it is really easy. See EvolutionSyncSource
1366 or TrackingSyncSource for details.
1368 * Messages are printed to the screen immediately. More readable
1371 * Maemo: the useless ''list: unable to access calendars:
1372 failure' error message is avoided. It was triggered by not having
1373 memo support in Evolution Data Server. Cleaned up the code so that
1374 it properly distinguishes between 'calendar', 'memo list' and
1377 * added server template for MemoToo; note that the server has not been
1380 * added synchronization of Evolution memo summary
1382 Most devices only synchronize plain text and do not have a
1383 separate summary field. Such an extra summary field was added to
1384 Evolution after memo support was initially implemented in
1385 SyncEvolution, therefore SyncEvolution did not transmit that
1388 Added transmitting the summary by inserting it as first line of
1389 the plain text blob *if* it is not already identical with the
1390 first line. When receiving a memo, the summary is set from the
1391 first line *without* removing the first line because the first
1392 line might have been used as a normal part of the memo.
1394 * Various other minor changes, fixes and lots of code cleanups.
1396 * license cleanup: SyncEvolution is GPL v2 or later
1399 SyncEvolution 0.8 beta 2 -> 0.8 final, 29.08.2008
1400 -------------------------------------------------
1401 C++ client library: 7.0 plus compatibility patch for Synthesis
1403 * license cleanup: SyncEvolution is GPL v2 or later
1406 SyncEvolution 0.8 beta 2 -> 0.8 beta 3, 17.08.2008
1407 --------------------------------------------------
1408 C++ client library: 7.0 plus compatibility patch for Synthesis
1410 * Another revision of updating events in Evolution calendars:
1411 the method introduced in 0.8 beta 1 for dealing with
1412 detached recurrences did not work with the Evolution Exchange
1413 Connector. Now both Exchange and local calendars pass the unit
1416 * minor code cleanup (testing, writing additional backends)
1419 SyncEvolution 0.8 beta 1 -> 0,8 beta 2, 03.08.2008
1420 --------------------------------------------------
1421 C++ client library: 7.0 plus compatibility patch for Synthesis
1423 * To prevent accidental sync runs when a configuration change
1424 was intented, a new --run switch must be used when configuration
1425 properties are given on the command line. When neither --run
1426 nor --configure are specified, SyncEvolution prints an
1427 error and refuses to do anything.
1429 * Improved documentation for command line, in particular the synopsis.
1431 * Added a new file backend: stores each SyncML item as a separate file
1432 in a directory. The directory has to be specified via the database
1433 name, using [file://]<path> as format. The file:// prefix is
1434 optional, but the directory is only created if it is used.
1436 Change tracking is done via the file systems modification time
1437 stamp: editing a file treats it as modified and then sends it to the
1438 server in the next sync. Removing and adding files also works.
1440 The local unique identifier for each item is its name in the
1441 directory. New files are created using a running count which
1442 initialized based on the initial content of the directory to
1443 "highest existing number + 1" and incremented to avoid collisions.
1445 Although this sync source itself does not care about the content of
1446 each item/file, the server needs to know what each item sent to it
1447 contains and what items the source is able to receive. Therefore
1448 the "type" property for this source must contain a data format
1449 specified, including a version for it. Here are some examples:
1450 - type=file:text/vcard:3.0
1451 - type=file:text/plain:1.0
1453 * Code restructuring: it is now possible to add new backends and thus
1454 write SyncML clients for other kinds of data without touching any
1455 line of code in SyncEvolution itself. All the required interfaces
1456 are documented inside SyncEvolution itself. A HTML documentation can
1457 be built via the new "make doc" target (requires Doxygen and dot).
1460 SyncEvolution 0.8 alpha 1 -> 0.8 beta 1, 12.07.2008
1461 ---------------------------------------------------
1462 C++ client library: the frozen 7.0 code, but before the release
1464 * Added support for detached recurrences (aka modified instances of
1465 a recurring event). Requires a SyncML server which supports this.
1466 ScheduleWorld was extended to do that.
1468 * Fixed segfaults caused by logging certain data. The reason was an
1469 API change in the client library's logging calls which the older
1470 SyncEvolution code hadn't been adapted to. Did not normally occur,
1471 but might have been the reason for SF #1830149 (unconfirmed).
1473 * when creating a config for the first time, only enable sync sources
1474 which can be synchronized (SF #1991286)
1476 The check for that was completely missing. Now SyncEvolution
1477 checks that the backend is available and there is at least one
1478 database (the first one will be synchronized unless explicitly
1479 changed). If these checks fail and the sync source was explicitly
1480 requested by the user by listing it after the server name, then
1481 an error is printed and no configuration is written. If the user
1482 wants the default setup, then the source is silently disabled.
1484 * Fixed incorrect properties in some of the new server templates
1485 (ScheduleWorld syncURL + calender URI, Funambol syncURL, ScheduleWorld
1488 * Device IDs must start with the "sc-pim-" prefix, otherwise myFUNAMBOL
1489 may treat different devices as the single phone that myFUNAMBOL
1490 supports, leading to unwanted slow syncs.
1492 * Maemo package is build again so that backends are loaded dynamically:
1493 installing Dates application is as it was with the 0.7 release
1494 (SF #1993109). The useless ''list: unable to access calendars:
1495 failure' error message is avoided. It was triggered by not having
1496 memo support in Evolution Data Server. Cleaned up the code so that
1497 it properly distinguishes between 'calendar', 'memo list' and
1500 * added server template for MemoToo; note that the server has not been
1503 * added synchronization of Evolution memo summary
1505 Most devices only synchronize plain text and do not have a
1506 separate summary field. Such an extra summary field was added to
1507 Evolution after memo support was initially implemented in
1508 SyncEvolution, therefore SyncEvolution did not transmit that
1511 Added transmitting the summary by inserting it as first line of
1512 the plain text blob *if* it is not already identical with the
1513 first line. When receiving a memo, the summary is set from the
1514 first line *without* removing the first line because the first
1515 line might have been used as a normal part of the memo.
1517 * removed --properties option: it wasn't implemented yet and won't be in 0.8
1519 * fixed regression in alpha 1: setting sync mode during status query
1520 or sync affected *all* sources, even the disabled ones. Now it only
1521 affects the enabled ones, as intended. To enable disabled sync sources,
1522 list them after the server name.
1524 *** WARNING ***: this version uses a different change tracking for
1525 for Mac OS X AddressBook. After switching from a previous release to the current
1526 one or vice versa, do a "syncevolution --sync refresh-from-server"
1527 once to reset the change tracking. Not doing so can result in applying
1528 the same changes to the server multiple times and thus duplicates.
1530 A similar change was necessary in 0.8 alpha 1 for Evolution calendar,
1531 tasks, and memos. When switching from a version >= 0.8 alpha 1 to an
1532 older version or vice versa also refresh the local databases.
1534 0.8 alpha 1 did not create correct configurations. When you want to continue
1535 using such a configuration, make sure that in addition to the obviously
1536 wrong syncURLs also the less obvious ScheduleWorld config mistakes are fixed:
1537 * calendar: uri=cal2
1538 * addressbook: type=addressbook:text/vcard
1539 * deviceId must start with "sc-pim-" if you synchronize with myFUNAMBOL,
1540 otherwise there may be unwanted slow syncs when multiple devices with
1541 a different deviceId connect. Note that changing the deviceId causes
1542 a slow sync, so you should get client and server in sync before changing
1543 the value, change it, then do a "--sync refresh-from-server".
1546 SyncEvolution 0.7 -> 0.8 alpha 1, 19.04.2008
1547 --------------------------------------------
1548 C++ client library: a snapshot of the development version
1550 Updating user configuration: this version introduces a new, simplified
1551 configuration layout. Old configurations still work. They can be
1552 converted to the new format via a new "--migrate" command line option.
1554 *** WARNING ***: this version uses a different change tracking for
1555 Evolution calendars, task lists and memos. After switching from a previous
1556 release to the current one or vice versa, do a "syncevolution --sync
1557 refresh-from-server" once to reset the change tracking. Not doing so
1558 can result in applying the same changes to the server multiple times
1559 and thus duplicates.
1561 * New configuration file layout: following the freedesktop.org
1562 recommendation, new configurations are stored in
1563 $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
1564 XDG_CONFIG_HOME is not set. The old layout under
1565 $HOME/.sync4j/evolution is still supported.
1567 * New command line options: new configurations can be created by
1568 syncevolution itself (--configure), including setting of all
1569 configuration properties (--sync-property, --source-property).
1570 The configuration can dumped to stdout (--print-config), with or
1571 without comments explaining each property (--quiet). See the
1574 * The "evolutionsource" source property no longer has to be configured.
1575 If left blank, the default client database will be synchronized.
1577 * Selecting which kind of data is to be synchronized under a specific
1578 source name is a lot easier now and the same on all supported
1579 platforms: the SyncEvolution backends can be selected via aliases
1580 (e.g. "contacts") and the format is specified via an optional
1581 MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
1582 that multiple backends are active which can synchronize the same
1583 kind of data, then the right one can be selected by the unique
1584 name of the backend (e.g. "Evolution Address Book").
1586 * New configurations automatically get a random client ID string.
1587 Setting it manually is still possible, but no longer necessary.
1589 * All passwords can be read from stdin at runtime or an environment
1590 variable (see "--sync-property password=?" or README for details).
1591 Both avoids the less secure storing of plain text passwords in the
1592 configuration files (SF #1832458).
1594 * Detached recurrences: meeting series where some occurrences were
1595 modified are now supported. Previously only the main event was
1596 synchronized. All exceptions got lost when copying back from the
1597 server. ***WARNING***: such events are accepted by ScheduleWorld,
1598 but not propagated to other clients. Under investigation.
1600 * Time zone support: the time zones of incoming events are mapped
1601 to native time zone definitions whenever possible. Currently
1602 this works if the TZID follows the Olson naming scheme with a
1603 location at the end. Matching the time zone has the advantage of
1604 being able to update the time zone definition without having to
1605 recreate the event. If matching fails and the VTIMEZONE definition
1606 differs from one already imported earlier, then SyncEvolution works
1607 arounds limitation in Evolution by renaming the time zone.
1608 Previously the new event used the old and most likely out-dated
1609 time zone definition.
1611 ***WARNING***: Evolution itself does not do either of these steps
1612 itself yet, thus importing meeting invitations via Evolution still
1613 fails in some cases. The code implementing the time zone handling
1614 described above was written with inclusion into Evolution itself in
1615 mind; a discussion with the Evolution developers about that is in
1618 * On Maemo/Nokia Internet Tablets, calendar synchronization now
1619 works because the new calendar change tracking no longer depends
1620 on some of the backend calls which used to fail (SF #1734977).
1622 * Added SSL configuration options: certificate checking can be
1623 relaxed or disabled completely (SF #1852647).
1625 * Adding support for new local data sources is easier now. The
1626 SyncEvolution frame work itself never depended on GNOME or
1627 Evolution, only the Evolution data sources did. If you want
1628 support for other ways of storing your data, consider writing
1629 a new data source - it is really easy. See EvolutionSyncSource
1630 or TrackingSyncSource for details.
1632 * Messages are printed to the screen immediately. More readable
1635 * Various other minor changes and fixes.
1638 SyncEvolution 0.6 -> 0.7, 17.12.2007
1639 ------------------------------------
1640 C++ client library: r_6_5_3_1
1642 Updating user configuration: no relevant changes in this release. For those
1643 who haven't done so already, enabling large object support is recommended
1644 (see syncml/config.txt sample configs).
1646 * added port for iPhone and Mac OS X Address Book
1648 * fixed Nokia packaging problem which prevented installation
1649 via the package manager unless it was in "red pill" mode
1652 * sync with eGroupware - lost or messed up telephones: SyncEvolution
1653 incorrectly added TYPE=OTHER to phone numbers sent with e.g.
1654 CELL instead of TYPE=CELL (SF #1796086). Another patch was
1655 required for eGroupware itself to correctly map phone numbers
1656 as sent by SyncEvolution, see Compatibility web page.
1658 * added .deb packages
1660 * adapted calendar event insert/update to Evolution 2.12: the UID needs to be
1661 restored, otherwise the Evolution backend crashes (GNOME issue #488881)
1663 * new feature: if the previous log directory is still available,
1664 then local changes made since last sync can be queried
1665 before starting a sync (new option --status) and will be
1666 printed directly before a sync. Setting the "logdir" option
1667 will automatically keep the most recent logs and database
1670 * added command line options:
1672 Temporarily synchronize the active sources in that mode. Useful
1673 for a 'refresh-from-server' or 'refresh-from-client' sync which
1674 clears all data at one end and copies all items from the other.
1677 The changes made to local data since the last synchronization are
1678 shown without starting a new one. This can be used to see in advance
1679 whether the local data needs to be synchronized with the server.
1682 Suppresses most of the normal output during a synchronization. The
1683 log file still contains all the information.
1686 Prints usage information.
1689 Prints the SyncEvolution version.
1691 * default configurations now reference the normal Evolution databases
1692 ("Personal") thus requiring less changes to use. The account information
1693 is now clearly marked as placeholder which needs to be entered.
1695 * bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
1696 by SyncEvolution (must convert to upper case because vCard 2.1 only allows
1697 that), leading to problems with mapping phone numbers in the Funambol server.
1698 Diagnosed and reported by Paul McDermott, thanks a lot!
1700 * support receiving plain text notes with \n and \r\n line breaks;
1701 always send with \r\n
1703 * added explicit error message when syncevolution is invoked
1704 with incorrect names in the list of sources to synchronize:
1705 previously it silently ignored unknown names
1707 * improved output: less verbose ("extracting" items is now
1708 logged at debug level and thus not normally shown) and more
1709 informative printing of changes (table summarizes number of
1710 changes on client and server, heading for comparison changed
1711 to make it clear that it shows changes on the client)
1713 * SyncCap is not generated unless syncModes are configured: added
1714 a comment to example config (SF #1764123)
1716 * improved error handling: catch errors during post-processing and
1720 SyncEvolution 0.7-pre2 -> 0.7, 17.12.2007
1721 -----------------------------------------
1722 C++ client library: r_6_5_3_1
1724 * bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
1725 by SyncEvolution (must convert to upper case because vCard 2.1 only allows
1726 that), leading to problems with mapping phone numbers in the Funambol server.
1727 Diagnosed and reported by Paul McDermott, thanks a lot!
1729 * support receiving plain text notes with \n and \r\n line breaks;
1730 always send with \r\n
1732 * added explicit error message when syncevolution is invoked
1733 with incorrect names in the list of sources to synchronize:
1734 previously it silently ignored unknown names
1736 * added stack dumping in case of premature abort;
1737 removed workaround for lost connection to Evolution Dataserver
1738 again because the workaround itself caused random segfaults inside
1742 SyncEvolution 0.7-pre1 -> 0.7-pre2, 08.11.2007
1743 ----------------------------------------------
1744 C++ client library: branch b_v65
1746 Updating user configuration: no relevant changes in this release. For those
1747 who haven't done so already, enabling large object support is recommended
1748 (see syncml/config.txt sample configs). It is required for myFUNAMBOL to
1749 synchronize very large address books and some users have reported segfaults
1750 unless this option was enabled.
1752 * iPhone bug fix: syncing contacts with photos was unreliable (export) and
1753 crashed (import) because the API had not been called correctly
1755 * iPhone + ScheduleWorld: when configured to use vcard3 (recommended!) then
1756 contacts are exchanged as vCard 3.0
1758 * iPhone + ScheduleWorld bugfix: importing vCard 3.0 did not correctly
1759 classify the phone numbers. A sync with the new "--sync refresh-from-server"
1760 option will fix this, assuming that the server has the correct data.
1762 * Evolution: detect a crashed backend and abort SyncEvolution instead of
1765 * adapted calendar event insert/update to Evolution 2.12: the UID needs to be
1766 restored, otherwise the Evolution backend crashes (GNOME issue #488881)
1768 * new feature: if the previous log directory is still available,
1769 then local changes made since last sync can be queried
1770 before starting a sync (new option --status) and will be
1771 printed directly before a sync. Setting the "logdir" option
1772 will automatically keep the most recent logs and database
1775 * added command line options:
1777 Temporarily synchronize the active sources in that mode. Useful
1778 for a 'refresh-from-server' or 'refresh-from-client' sync which
1779 clears all data at one end and copies all items from the other.
1782 The changes made to local data since the last synchronization are
1783 shown without starting a new one. This can be used to see in advance
1784 whether the local data needs to be synchronized with the server.
1787 Suppresses most of the normal output during a synchronization. The
1788 log file still contains all the information.
1791 Prints usage information.
1794 Prints the SyncEvolution version.
1796 * default configurations now reference the normal Evolution databases
1797 ("Personal") thus requiring less changes to use. The account information
1798 is now clearly marked as placeholder which needs to be entered.
1801 SyncEvolution 0.6 -> 0.7-pre1, 17.10.2007
1802 -----------------------------------------
1803 * C++ client library: tag "sdkcpp_6_0_9_1" (same as before)
1804 * added support for Mac OS X/iPhone address book
1805 * fixed Nokia packaging problem which prevented installation
1806 via the package manager unless it was in "red pill" mode
1807 * improved output: less verbose ("extracting" items is now
1808 logged at debug level and thus not normally shown) and more
1809 informative printing of changes (table summarizes number of
1810 changes on client and server, heading for comparison changed
1811 to make it clear that it shows changes on the client)
1812 * example configs were in share/share directory (SF #1767329)
1813 * Nokia 770/800: uninstallable package fixed by setting category
1815 * sync with eGroupware - lost or messed up telephones: SyncEvolution
1816 incorrectly added TYPE=OTHER to phone numbers sent with e.g.
1817 CELL instead of TYPE=CELL (SF #1796086). Another patch was
1818 required for eGroupware itself to correctly map phone numbers
1819 as sent by SyncEvolution, see Compatibility web page.
1820 * SyncCap is not generated unless syncModes are configured: added
1821 a comment to example config (SF #1764123)
1822 * improved error handling: catch errors during post-processing and
1826 SyncEvolution 0.5 -> 0.6, 13.07.2007
1827 ------------------------------------
1828 * C++ client library: tag "sdkcpp_6_0_9_1"
1829 * added support for synchronizing Evolution notes (aka memos) as
1830 plain text where the first line serves as summary; this is the
1831 format understood by ScheduleWorld
1832 * added support for synchronizing Evolution notes (aka memos) as
1833 iCal 2.0 journal; not currently supported by any server and
1835 * revamped example configs and documentation: only one set of
1836 config files for each server is provided, because this is more
1837 likely to be needed by users
1838 * example configs are now installed in share/doc/syncevolution,
1839 enabled message limit and large object support in them
1840 * added support for Nokia 770/800 (aka Maemo):
1841 built with loadable modules so that it works with whatever
1842 backends are installed, improved log handling to accomodate
1843 for limited space on filesystem (see below), some workarounds
1844 * added workaround for Nokia 770:
1845 contacts are not really deleted unless the EDS-Sync with
1846 instant messaging servers is activated; now SyncEvolution
1847 will delete contacts marked as deleted by the GUI before
1848 a sync if it finds any.
1849 WARNING: if you use EDS-Sync and SyncEvolution, then give
1850 EDS-Sync enough time after going online to finish its own
1851 synchronization of modified/deleted contacts before starting
1853 * improved log handling: writing log and database dumps can be
1854 disabled with "logdir=none", verbosity of log is controlled by
1855 "loglevel", better handling of errors during initial database
1857 * added workaround for Evolution bug #455274:
1858 the separator for multiple categories in events and tasks
1859 is not generated and interpreted according to iCalendar 2.0
1860 by Evolution; as a consequence of that items sent to the server
1861 had all categories merged into one and items imported into
1862 Evolution only used one of the catories
1863 http://bugzilla.gnome.org/show_bug.cgi?id=455274
1864 * fixed off-by-one counting of months in backup directory names
1865 * fixed error handling: a failed source was not forced into a slow
1866 sync as required; one failed source prevented saving configs of
1867 not-failed ones and thus forced those into an unnecessary slow
1869 * uses the Funambol C++ testing framework (which is based on the
1870 previous SyncEvolution testing); now creates its configs
1871 and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
1872 also the Evolution databases automatically
1873 * implemented synccompare as pure Perl script using Algorithm::Diff
1874 instead of external diff tool
1875 * synccompare did not figure out width of shell window as it should have
1876 * better error handling if creating the before/after database dumps
1878 * workaround for Funambol 3.0 trailing = parser bug
1882 Old config files from 0.5 or older continue to work, but it is recommended
1883 to set the following options to enable message size limits:
1889 SyncEvolution 0.6pre2 -> 0.6, 13.07.2007
1890 ----------------------------------------
1891 * improved README/HACKING documents
1892 * fixed the new example configs: use event/task for Funambol 6.0,
1894 * added workaround for Evolution bug #455274:
1895 the separator for multiple categories in events and tasks
1896 is not generated and interpreted according to iCalendar 2.0
1897 by Evolution; as a consequence of that items sent to the server
1898 had all categories merged into one and items imported into
1899 Evolution only used one of the catories
1900 http://bugzilla.gnome.org/show_bug.cgi?id=455274
1901 * added workaround for Nokia 770:
1902 contacts are not really deleted unless the EDS-Sync with
1903 instant messaging servers is activated; now SyncEvolution
1904 will delete contacts marked as deleted by the GUI before
1905 a sync if it finds any.
1906 WARNING: if you use EDS-Sync and SyncEvolution, then give
1907 EDS-Sync enough time after going online to finish its own
1908 synchronization of modified/deleted contacts before starting
1912 SyncEvolution 0.6pre1 -> 0.6pre2, 23.04.2006
1913 --------------------------------------------
1914 * C++ client library: tag "sdkcpp_6_0_7" + revision 1.7 of
1915 build/autotools/test/Makefile.am
1916 * added support for synchronizing Evolution notes (aka memos) as
1917 plain text where the first line serves as summary; this is the
1918 format understood by ScheduleWorld, not the iCal 2.0 format
1920 * improved log handling: writing log and database dumps can be
1921 disabled with "logdir=none", verbosity of log is controled by
1922 "loglevel", better handling of errors during initial database
1924 * fixed off-by-one counting of months in backup directory names
1925 * fixed error handling: a failed source was not forced into a slow
1926 sync as required; one failed source prevented saving configs of
1927 not-failed ones and thus forced those into an unnecessary slow
1929 * revamped example configs: only one set of config files for each
1930 server is provided, because this is more likely to be needed
1932 * uses the Funambol C++ testing framework (which is based on the
1933 previous SyncEvolution testing); now creates its configs
1934 and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
1935 also the Evolution databases automatically
1938 SyncEvolution 0.5 -> 0.6pre1, 26.03.2006
1939 ----------------------------------------
1940 * C++ client library: CVS snapshot from 26.03.2006
1941 * added support for synchronizing Evolution notes (aka memos) as
1943 * added --enable-static-cxa = linking C++ runtime statically:
1944 binaries produced for 0.6 will have less external
1945 dependencies than the 0.5 binaries
1946 * added hacks for Maemo/Nokia 770, including a build
1947 mode with dynamically loadable modules (--enable-shared, --enable-maemo,
1948 --with-patched-dbus)
1949 * implemented synccompare as pure Perl script using Algorithm::Diff
1950 instead of external diff tool
1951 * synccompare did not figure out width of shell window as it should have
1952 * better error handling if creating the before/after database dumps
1954 * example configs are now installed in share/doc/syncevolution,
1955 enabled message limit and large object support in them
1956 * workaround for Funambol 3.0 trailing = parser bug
1960 Old config files continue to work, but it is recommended
1961 to set the following options to enable message size limits:
1968 SyncEvolution 0.4 -> 0.5, 12.11.2006
1969 ------------------------------------
1970 * C++ client library revision "syncevolution-0-5":
1971 - added support for sending changes in smaller chunks
1972 ("Large Object Support"): disabled by default, see updated
1973 example configuration
1974 - time is printed with GMT offset so that a server admin in
1975 a different timezone can always figure out how a client log
1976 relates to events on the server
1977 - special item keys as they might be stored in some calendars after
1978 importing non-Evolution events are now properly supported
1979 * bug fix: in 0.4 it was necessary to manually configure the verDTD
1980 or the Funambol 3.0a server would choke on the invalid SyncML during
1981 the second synchronization with SyncEvolution; now this option is set
1983 * added support and testing of transmitting just the changes
1984 from client to server or vice versa; see "one-way-from-server/client"
1985 in example configuration
1986 * fixed/updated comments in the example configuration
1987 * improved automated testing and fixed the problem that CPPUnit was not
1988 found unless it was part of the system
1989 * Now works on Maemo/Nokia 770: minor changes were necessary so that
1990 the system address book can now be selected under the name "<<system>>.
1991 Copying 300 contacts into the Nokia 770 went fine, but any further
1992 attempt to synchronize suffered from timeouts inside the embedded
1993 Evolution Data Server.
1996 SyncEvolution 0.3 -> 0.4, 11.09.2006
1997 ------------------------------------
1998 * C++ client library revision "syncevolution-0-4":
1999 - added support for device information, required by some servers
2000 - fixed incompatibilities with non-Funambol servers
2001 - the user agent string can now be modified in the
2002 spds/syncml/config.txt, but it is recommended to not set
2003 it explicitly. Then SyncEvolution will automatically insert
2004 its current version.
2005 - #305795: for tasks the "text/x-todo" type from the configuration
2006 was sent to servers instead of the correct "text/calendar"
2007 provided by SyncEvolution itself
2008 - sync modes "refresh-client/server" can now be specified as
2009 "refresh-from-client/server" in the config
2010 * updated default syncml/config.txt:
2011 - firstTimeSyncMode has never been implemented in the library,
2012 removed its documentation,
2013 - added documentation for userAgent
2014 - use "refresh-from-client/server"
2015 * SF issue 1511951: support copying changes back from EGroupware
2016 server by not expecting the UID of calendar items to be unmodified
2017 * fixed a bug where after a refresh-from-client sync changes would
2018 be sent to the server again during a two-way sync although the
2019 server already had them
2020 * implemented authentication for Evolution databases
2021 * synccompare was removing too many parts of vCards with
2022 single-value ORG properties
2023 * improved error reporting when selected server is not configured
2024 * changed vCard parser to make it compatible with servers
2025 which send a verbatim semicolon as part of properties where
2026 the semicolon has no special meaning
2027 * If minor errors occur like not being able to insert an
2028 item at the client or server side, then it is reported in the
2029 log and output, but the next synchronization will be a normal
2030 synchronization, not a forced slow one as in previous versions.
2031 The old approach ensured that the problem was noticed and fixed,
2032 but required user assistance. With the new approach synchronization
2033 continues to work, although without fixing the root cause of
2035 * Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
2036 for calendars and task lists not all deleted items were reported
2037 at once thus a single synchronization would only tell the server
2038 about a subset of the changes. Repeating the synchronization would
2039 eventually be told of all changes, so now this repetition is built
2040 into the code which queries for changes and a single synchronization
2041 is sufficient as it should be.
2044 SyncEvolution 0.4 pre2 -> 0.4, 11.09.2006
2045 -----------------------------------------
2046 * adapted to C++ client library from CVS head, tagged as syncevolution-0-4:
2047 devinfo.patch patch was merged with several changes to the API
2048 * SF issue 1511951: support copying changes back from EGroupware
2049 server by not expecting the UID of calendar items to be unmodified
2052 SyncEvolution 0.4 pre1 -> pre2, 21.08.2006
2053 ------------------------------------------
2054 * C++ client library revision "syncevolution-0-4-pre2":
2055 most patches were merged into CVS head, but .patches/devinfo.patch
2056 still needs to be applied manually when checking out from the
2057 Funambol CVS instead of using the bundled version
2058 * fixed a bug where after a refresh-from-client sync changes would
2059 be sent to the server again during a two-way sync although the
2060 server already had them
2061 * implemented authentication for Evolution databases
2062 * synccompare was removing too many parts of vCards with
2063 single-value ORG properties
2064 * improved error reporting when selected server is not configured
2065 * use 7-bit quoted-printable encoding with explicit UTF-8 charset for
2066 vCard 2.1 to avoid any potential confusion about the content; not
2067 really necessary because SyncML specifies 8-bit UTF-8 as the default
2068 * fix for 0.4 pre 1: sending CHARSET is not allowed (and not
2069 needed) for vCard 3.0, so it was removed again (did not harm
2071 * fix for 0.4 pre 1: sending vCard 2.1 to Synthesis server did
2072 not work because the new device info always mentioned 3.0 as
2073 the preferred format - now the preferred format matches the one
2074 that was configured and that thus will be used.
2077 SyncEvolution 0.3 -> 0.4 pre 1, 2006-08-06
2078 ------------------------------------------
2079 * C++ client library revision "funambol30ga" plus the patches
2080 stored in its ".patches" directory:
2081 - the user agent string can now be modified in the
2082 spds/syncml/config.txt, but it is recommended to not set
2083 it explicitly. Then SyncEvolution will automatically insert
2084 its current version.
2085 - now compatible with additional servers (fixed some SyncML
2086 protocol issues, added support for sending device
2088 - revised API of the client library
2089 - #305795: for tasks the "text/x-todo" type from the configuration
2090 was sent to servers instead of the correct "text/calendar"
2091 provided by SyncEvolution itself
2092 - sync modes "refresh-client/server" can now be specified as
2093 "refresh-from-client/server" in the config
2094 * updated default syncml/config.txt:
2095 - firstTimeSyncMode has never been implemented in the library,
2096 removed its documentation,
2097 - added documentation for userAgent
2098 - use "refresh-from-client/server"
2099 * changed vCard parser to make it compatible with servers
2100 which send a verbatim semicolon as part of properties where
2101 the semicolon has no special meaning
2102 * If minor errors occur like not being able to insert an
2103 item at the client or server side, then it is reported in the
2104 log and output, but the next synchronization will be a normal
2105 synchronization, not a forced slow one as in previous versions.
2106 The old approach ensured that the problem was noticed and fixed,
2107 but required user assistance. With the new approach synchronization
2108 continues to work, although without fixing the root cause of
2110 * Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
2111 for calendars and task lists not all deleted items were reported
2112 at once thus a single synchronization would only tell the server
2113 about a subset of the changes. Repeating the synchronization would
2114 eventually be told of all changes, so now this repetition is built
2115 into the code which queries for changes and a single synchronization
2116 is sufficient as it should be.
2117 * Made it compile on Maemo 2.0, the Nokia 770 build environment, by
2118 adding "--disable-ecal". Not tested yet, though.
2121 SyncEvolution 0.3, 2006-06-27
2122 -----------------------------
2124 * added syncing of calendars and tasks as iCalendar 2.0
2125 * added syncing of contacts as vCard 3.0
2126 * tested extensively with sync.scheduleworld.com and
2127 added an example configuration for it
2128 * uses C++ client library revision "wmplugin_3_0_20"
2129 which contains several bug fixes, among them proper
2130 support for special characters and memory handling
2132 * much nicer listing of changes made during a sync,
2133 handled by the improved "synccompare" utility script
2134 (formerly known as "normalize_vcard")
2135 * improved automated testing
2138 SyncEvolution 0.2, 2006-03-19
2139 -----------------------------
2141 * added automatic backup mechanism and log storage,
2142 see "Automatic Backups and Logging".
2143 * output no longer is the original log data, but rather
2144 a human-readable report of errors and synchronization
2146 * "normalize_vcard" can now also compare two .vcf files
2148 * improved unit tests to catch more errors
2149 * hide certain differences in vcards coming back from
2150 the server: duplication of extended vcard properties,
2152 * fixed client library problems:
2153 see http://forge.objectweb.org/tracker/?group_id=96&atid=100096
2155 * added some more problems to the "Known Problems" section
2158 SyncEvolution 0.1, 2006-03-13
2159 -----------------------------