1 SyncEvolution 1.0 beta 1 -> beta 2, 23.02.2010
2 ==============================================
4 Several new features and some bug fixing. Despite some open issues
5 (see below), this release is ready for getting packaged in staging
6 areas of distros as replacement for 0.9.2.
8 As before, documentation for 1.0 is only available in the
9 "Development" section of syncevolution.org, including HOWTOs for
10 setting up the HTTP SyncML server and phones manually.
12 Setting up a phone became a bit easier with beta 2, because
13 SyncEvolution is now integrated with the GNOME Bluetooth panel: once a
14 device with SyncML client support is paired, a button offers to bring
15 up the sync-UI and configure or synchronize with that device. We do a
16 fuzzy match against the Bluetooth device name to find a suitable
17 template (not manufacturer/model, because that is not readily
18 available). Still not many (read: hardly any) templates available,
21 The binaries on syncevolution.org are compiled with Bluetooth support.
22 libbluetooth2 or libbluetooth3 should be installed, but are not
23 essential. If there is no suitable version of it, the Bluetooth
24 channel has to be selected manually as part of the syncURL.
26 Unexpected slow syncs are prevented by default, in contrast to beta 1
27 where this feature was available but turned off. When an unexpected
28 slow sync is detected in a client, users have to follow the
29 instructions provided by the command line or sync-ui and choose how to
30 proceed (explicitly request slow sync, refresh from server or client,
31 restore from backup). SyncEvolution as server currently cannot prevent
32 slow syncs, even when initiating the sync with a phone.
34 In preparation for syncing automatically, logdir and database handling
35 was improved considerably. Backups use less disk space because
36 identical files share the same file content via hard links. This also
37 speeds up the synccompare Perl script. Database dumps and the
38 corresponding comparison are delayed until the session really runs,
39 which avoids doing needless work a) when the server a client tries to
40 contact is unreachable or down and b) by only including sources that
41 are really in use during a sync on the server side.
43 The Synthesis XML configuration was split up into different parts
44 which are assembled from /usr/share/syncevolution/xml. Files in
45 ~/.config/syncevolution-xml override and extend the default files,
46 which my be useful when adding support for a new phone.
49 Summary of changes since 1.0 beta 1:
51 * sync-ui: recovery dialog (MB #8050), device setup, config usable with
52 long strings (MB #9278), fixed displaying of source phases during sync
54 * sync-ui + syncevo-dbus-server: integration with Bluez to detect paired
55 devices (MB #9216, MB #7089), select template based on device name (MB #7838),
56 detect network and Bluetooth connectivity (only with ConnMan, MB #7700),
57 passwords stored in GNOME keyring by syncevo-dbus-server are shown with
58 dots in sync-ui (MB #9169)
59 * Evolution addressbook backend: avoid picking CouchDB, second try (MB #7877)
60 * Evolution calendar backend: minor fix for change tracking when deleting
61 a single instance of a recurring event
62 * build fixes: Bluetooth compatibility (MB #9289), use libical _r variant
63 of calls because 0.43 has issues in the normal version, conflict with
64 system libsynthesis and libsmltk (MB #9811)
65 * Horde: avoid confusing the server with a deviceId that starts like the
66 ones used in old Funambol clients, helps with calendar sync (MB #9347)
67 * better reporting when SyncEvolution dies during a sync (only happend once
68 when it wasn't installed properly, but still... MB #9844)
69 * performance improvements: synccompare much faster/database dumps consume
70 less disk space/more intelligent about expiring obsolete session directories
71 and backups/database accesses are reduced in several backends (MB #7708),
72 shorter logs (MB #8092)
73 * slow sync detection: now also works in the case where the client detects
74 an anchor mismatch and enabled by default (MB #2416)
75 * OBEX transport: some error handling changes and removal of polling, now
76 also possible via sync-ui + syncevo-dbus-server (MB #9436)
77 * API changes: SyncSource introduces an "isEmpty" operation which is
78 needed for the slow sync detection
79 * SyncML: split up configuration (MB #7712), increased default message size
80 because the old one might have been too small for large DevInf structures
81 * several fixes for virtual data sources ("calendar+todo"): now works
82 on client side, fixed naming on server (MB #9664), fixed error message
83 for slow sync detection, supported in combination with sync-UI (MB #9535)
84 * fixes for shared configuration layout: finding sessions of peers in
85 non-default context, adding sources affected peers in the same context
86 (MB #9329), wrong context during --configure when using shortcut for peers
87 in non-default context (MB #9338)
90 Known gaps for 1.0 final and beyond:
92 Redesigned and reimplemented D-Bus API, required by sync-UI:
93 - 'syncevolution' command line tool bypasses D-Bus server and runs
94 sync sessions itself (MB #5043)
95 - availability of peers not detected when using NetworkManager
96 (connected for HTTP, paired for Bluetooth; MB #7700)
98 SyncML server in general:
99 - suspend/resume support is untested (MB #2425)
100 - the progress events and statistics reported for a SyncML client
101 are not generated when running as SyncML server, will require
102 a fair amount of refactoring in the Synthesis engine (MB #7709)
105 - a configuration must be created for each peer manually, including
106 a remoteDeviceId value that contains the peer's SyncML device ID
109 OBEX SyncML server ("sync with phones"):
110 - does not support phones which require a SAN 1.0 message (MB #9312)
111 - determining a working configuration for an unknown phone requires
112 a bit of experimenting, which should be automated (MB #9862)
115 - parsing of SAN message is rudimentary and depends on an existing local
116 configuration, needs to be refined depending on which SyncML server software
117 it is meant to work with (MB #6175)
119 Automatic sync (MB #6378):
120 - no support for the various server push notification mechanisms
121 - no intelligent detection of local changes
122 - no regular background sync, development is in progress
124 Upgrading from 1.0 beta 1: moving back and forth should work seamlessly
125 Upgrading from 0.9.x: see under beta 1
128 SyncEvolution 0.9.2 -> 1.0 beta 1, 26.01.2010
129 ==============================================
131 Compared to the current stable release, 0.9.2, this beta release can also:
132 * synchronize directly with a phone over Bluetooth/OBEX
133 * accept Bluetooth/OBEX connections in cooperation with obexd 0.19
134 * run SyncEvolution as a rudimentary HTTP SyncML server
136 These feature were already available in a source-only 1.0 alpha
137 release. For the beta, we fixed some issues (nothing major)
138 and in addition to the source, also make binaries available. As
139 before, we hope to get feedback on where we are going with 1.0 and its
140 SyncML server and direct synchronization features. If you want to get
141 involved, now is a good time because a) there is something which works
142 and b) there is still time to influence the final 1.0, scheduled for
145 Documentation of the new features can be found in the "Development"
146 section (http://syncevolution.org/development) for HOWTOs or ask on
147 the mailing list (http://syncevolution.org/support).
149 Here is a more complete list of features compared to the stable
150 release. The full (and up-to-date) list can be retrieved from the
151 Moblin Bugzilla (MB) issue tracking system with this query:
152 http://bugzilla.moblin.org/showdependencytree.cgi?id=7892&hide_resolved=0
153 For changes compared to the 1.0 alpha please consult the
156 Implemented features are marked with a plus +, open ones with a minus -.
159 + now works thanks to a workaround for anchor handling (MB #2424)
160 - only contacts tested because everything is considered legacy
163 Slow sync handling (MB #2416)
164 + Unexpected slow syncs can be detected when running as client and
165 if configured (see "preventSlowSync"), abort the session so that
166 the situation can be analyzed. A refresh from client or server
167 might be more suitable. Because this required manual intervention
168 by the user, the feature is off by default.
169 - Catching slow syncs does not work yet when running as server and
170 in one corner case in a client.
173 + settings for HTTP servers are now done inside the list of
174 all configs and server templates instead of poping up a
176 + uses the new D-Bus API
177 + no longer uses private gconf key to select default peer,
178 replaced by "defaultPeer" in SyncEvolution config
179 + added recovery features like handling of unexpected slow syncs (MB #2416)
180 - restoring from backup only supported by command line (MB #8050)
181 - spinner to indicate network activity missing (MB #2229)
182 - interactive password request not implemented yet (MB #6376)
185 + fixed printing of rejected items (MB #7755)
186 + improved error reporting (textual descriptions instead of plain
187 error codes MB #2069, partial success MB #7755, record and show
188 first ERROR encountered MB #7708)
189 + can create new sources (MB #8424)
191 Redesigned and reimplemented D-Bus API, required by sync-UI:
192 + central syncevo-dbus-server controls configurations and sync sessions:
193 http://syncevolution.org/development/direct-synchronization-aka-syncml-server
194 + accepts incoming SyncML connection requests and messages received by
195 independent transport stubs (obexd, HTTP server, ...)
196 + can be used by multiple user interfaces at once
197 + fully documented, see src/dbus/interfaces
198 + no longer depends on dbus-glib with hand-written glue code for C++,
199 instead uses gdbus plus automatic C++ binding generated via C++ templates
200 - 'syncevolution' command line tool bypasses D-Bus server and runs
201 sync sessions itself (MB #5043)
202 - availability of peers not detected (connected for HTTP, paired for
204 - Bluetooth peers can only be configured via command line (MB #9216)
206 Revised configuration layout (MB #8048, design document at
207 http://syncevolution.org/development/configuration-handling):
208 + several peer-independent sync and source properties are shared
209 between multiple peers
210 + they can be accessed without selecting a specific peer, by using an
211 empty config name or with the new "@<specific context>" syntax
212 + user interface in command line and D-Bus API unchanged
213 + old configurations can be read and written, without causing
214 unwanted slow syncs when moving between stable and unstable
215 SyncEvolution versions
216 + old configurations can be migrated with the "--migrate" command
217 line switch; however, then older SyncEvolution can no longer
218 access them and migrating more than one old configuration causes
219 the second or later configuration to loose its "deviceId" property
220 (which is shared now), causing a slow sync once
221 + config names may contain characters that are not allowed in the
222 file names used for the underlying files; will be replaced with
223 underscores automatically (MB #8350)
224 - users of the sync-ui will not know about the --migrate option,
225 so if they have only one configuration, it should be migrated
228 SyncML server in general:
229 + incoming connections are accepted by syncevo-dbus-server via
230 the D-Bus Connection API; because this is a "personal SyncML
231 server", all local data is meant to belong to a single user,
232 and only one sync session can be active at any point in time
233 + different users on the same machine can run their own server,
234 as long as they ensure that listening for incoming connections
235 does not conflict with each other (different port in HTTP)
236 + the session of an HTTP client which stops sending messages expires
237 after "RetryDuration" seconds instead of blocking the server
239 - suspend/resume support is untested (MB #2425)
240 - automatic backup of server databases is inefficient (done
241 even when client is not allowed to do a sync; always backs up
242 all data, including sources which are not active; MB #7708)
243 - the progress events and statistics reported for a SyncML client
244 are not generated when running as SyncML server, will require
245 a fair amount of refactoring in the Synthesis engine (MB #7709)
246 - the Synthesis server example config contains workarounds for
247 specific phones, but SyncEvolution does not currently use those;
248 adding new workarounds should be made very simple (MB #7712)
251 + test/syncevo-http-server.py provides an experimental HTTP server
252 based on Python and Twisted
253 - a configuration must be created for each peer manually, including
254 a remoteDeviceId value that contains the peer's SyncML device ID
257 OBEX SyncML server ("sync with phones"):
258 + peers are contacted via a builtin transport that uses libopenobex (MB #5188)
259 + Server Alerted Notification (SAN) message triggers syncs; server ID
260 and URI are configurable (MB #7871)
261 - a configuration must be created for each peer manually, including
262 a syncURL that contains the peer's MAC address (MB #7838)
263 - should be integrated into the system's Bluetooth pairing (MB #7089)
266 + obexd 0.19 contains a plugin which passes SyncML messages to syncevo-dbus-server
267 - parsing of SAN message is rudimentary and depends on an existing local
268 configuration, needs to be refined depending on which SyncML server software
269 it is meant to work with (MB #6175)
271 Automatic sync (MB #6378):
272 - no support for the various server push notification mechanisms
273 - no intelligent detection of local changes
274 - no regular background sync
275 - depends on safe handling of concurrent editing, which is blocked
276 by merging of a new Evolution Data Server API (MB #3479)
278 Upgrading from 0.9.x:
280 * Upgrading and downgrading should work seamlessly when using existing
281 configurations. But this being an alpha, better ensure that you have
282 backups of both your data and your configurations in
283 ~/.config/syncevolution.
285 * The new configuration layout is only used when creating new
286 configurations or explicitly invoking "syncevolution --migrate" (see
287 above). Such configs cannot be used by older SyncEvolution releases.
290 SyncEvolution 0.9.1 -> 0.9.2, 23.01.2010
291 ========================================
292 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
294 New Maemo 5/Nokia N900 calendar backend and packages, brought to you
295 by Ove Kaaven. These packages are available via the Maemo extras-devel
296 repository. Bug reports can be submitted both in http://bugs.maemo.org
297 and http://bugzilla.moblin.org. The latter is the tracker that is
298 monitored by the SyncEvolution team, which will also incorporate
299 patches. In general, Ove is the main maintainer of the new backend.
301 New XMLRPC backend, contributed by Franz Knipp/M-otion. It accesses
302 data inside a web service via a SOUP API and thus allows synchronizing
303 it via SyncML. See src/backends/xmlrpc/README for more information.
305 Added templates for Oracle Beehive and Goosync. Both are not currently
306 part of the regular testing.
308 In addition to that, 0.9.2 is an incremental update, with several
309 updated translations and addressing all of the issues reported by
312 - vCard dialects: added "X-GENDER/X-SIP" (used by Maemo) and X-SKYPE
313 (used by Maemo and recent Evolution, MB #8948)
315 - Evolution Address Book: avoid picking CouchDB by default (MB #7877, evolution-couchdb #479110)
317 CouchDB address books are appended at the end of the local database
318 list, otherwise preserving the order of address books. The initial
319 release of evolution-couchdb in Ubuntu 9.10 is unusable because it
320 does not support the REV property.
322 Reordering the entries ensures that the CouchDB address book is not
323 used as the default database by SyncEvolution, as it happened in
324 Ubuntu 9.10. Users can still pick it intentionally via
327 - installation: templates now in $(datadir)/syncevolution/templates (MB #7808)
328 This are files used internally, meant to be extended by distributors.
329 Storing them in /etc is no longer supported, but also unlikely to be
330 needed. Added warnings that these files cannot simply be copied into
331 .config because they are not complete configurations.
333 - installation: "make install" populates $(docdir) (MB #7168)
334 Previously README, COPYING, NEWS, and server READMEs were copied
335 into syncevolution.org .tar.gz/.deb/.rpm archives as part of
336 custom make rules and thus missing in other installations.
338 - building: --with-boost had no effect (MB#7856), detect incorrect
339 use of --with-synthesis-src, workaround for lack of --with-docdir
340 in older autoconf, do not unnecessarily depend on CPPUnit header
341 files and GNOME/EDS libs (MB#8338), workaround for libtool bug
342 ("cannot install `syncecal.la' to a directory not ending in ..."),
344 - clarified documentation of properties for file backend (MB#8146)
346 - stderr redirection: detect "error" messages and show them (MB#7655)
347 The "GConf Error: Failed to contact configuration server..." error
348 message was suppressed by the code which catches noise from libraries
349 invoked by SyncEvolution. Now it is printed as ERROR, making it
350 easier to detect why running SyncEvolution inside cron needs
352 http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/
354 - importing contacts from SyncML server without full name (MB#5664):
355 Evolution expects the name to be set and shows an empty string if
356 it is missing. Now the name is re-added by appending first, middle and
359 - Evolution calendar: work around 'cannot encode item' problem (MB #7879)
360 Happens when the calendar file contains broken events which reference
361 a timezone that is not defined. Now the event is treated like one in
364 - "http_proxy" env variable is supported regardless which HTTP transport
367 - avoid crashes when libecal sets neither error nor pointer (MB#8005)
368 and when aborting a running sync in the syncevo-dbus-server (MB#8385)
370 - "--status" output: fixed missing total item counts (MB #9097)
373 Upgrading from 0.9.1:
375 * nothing to do, upgrading and downgrading should work seamlessly
378 SyncEvolution 0.9 -> 0.9.1, 26.10.2009
379 ======================================
380 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
382 Mobical and Memotoo are now officially supported.
384 Memotoo uses vCard 2.1 with several Evolution specific extensions. It
385 uses iCalendar 2.0, however, without actually supporting the advanced
386 features of it. Times are converted to UTC and meeting information are
389 Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
390 result that many properties used in Evolution are not supported by the
391 server. In particular calendar support is very limited (known issues
392 when events are in time zones different from the one selected locally
393 and on the server, no support for meetings). For details see
396 *** Beware *** that the Mobical SyncML password is *not* the same as
397 the one for their web site. Log into mobical.net, then go to "my accounts
398 >> configure new device >> manual settings" to find the SyncML
401 It is now possible to compile database backends outside of
402 SyncEvolution, install them and have SyncEvolution use them
403 automatically like any other backend. The backend API has been
404 enhanced considerably. For example, backend developers have
405 access to a modular set of utility classes that can be mixed
406 into a specific implementation. Backends can access the internal
407 Synthesis representation directly and therefore no longer need
408 their own vCard/vCalendar/iCalendar parser.
410 The sqlite demo backend can be enabled and compiled again with
411 --enable-sqlite. It demonstrates how to map directly from the
412 Synthesis field list to some internal format (an SQLite database
413 schema in this case).
417 * Resend messages to cope with intermittent loss of network
418 connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
419 and "ResendDelay" configuration properties for details.
421 * SyncEvolution command line uses the GNOME keyring when
422 the new --keyring option is given.
424 * The logging of added and updated items was enhanced. Events,
425 tasks and memos are logged with a short description instead of
426 just the local ID. The description for contacts was improved.
428 * Receiving photos from Mobical failed because Mobical
429 does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
430 Sending photos worked, but added a few bytes of garbage
431 at the end of each photo (typically ignored when showing).
432 Parser was made more tolerant by Synthesis and encoder bug
435 * Task priorities used by Mobical and Evolution did not match:
436 vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
437 SyncEvolution now translates between the two ranges, with
438 some information getting lost when talking to a peer which
439 only supports the smaller range.
441 * Importing work and home phone numbers from Google into desktop
442 Evolution works better, because SyncEvolution now adds the "VOICE"
443 flag expected by Evolution (MB#6501).
445 * SSL certificate checking with Google is enabled by default
446 and enabled in Moblin, because libsoup in that distro has
447 the necessary fix. Without that fix, all connection attempts
448 fail. The binaries on syncevolution.org are compiled with
449 --disable-ssl-certificate-check, so users who want the
450 additional security must enable it.
452 * .rpms on syncevolution.org no longer specify a dependency
453 on certain Perl features. This depencency was a problem on
454 Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
455 binaries are avoided for real this time (MB#6552).
457 * Some sync-UI enhancements (describe sync services, avoid crash
458 with very long input in some of the text boxes (MB#5219), set
459 application icon, improved some strings).
461 * sync-UI: now disables sources which are not supported when
462 setting up a configuration, like memos on Moblin (MB #6672).
463 Previously the source was enabled, which prevented using
464 using the configuration as-is on the command line.
466 * The sync UI allowed to enable calendar and task synchronization
467 with Google although Google does not support that (MB#5871).
468 In new installations this is prevented by clearing the URI
469 for those data categories.
471 * Trying to remove a non-existent configuration via the command
472 line now raises an error, to catch typos (MB #6673).
474 * Improved checks which logs in the logdir belong to the current
477 * Improved sanity checking of integer configuration parameters
480 * Spelling fix: "aboring" => "aborting"
485 * Mobical and Memotoo do not have a description in the GUI yet.
487 * ZYB.com is not supported because of a known anchor handling
488 problem in the server (MB#2424).
493 * nothing to do, upgrading and downgrading should work seamlessly
496 SyncEvolution 0.9.1 beta 2 -> 0.9.1, 26.10.2009
497 ===============================================
498 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
502 * spelling fixes in NEWS file (--source-type => --source-property)
504 * improved autotools compilation of libsynthesis
507 SyncEvolution 0.9.1 beta 1 -> 0.9.1 beta 2, 19.10.2009
508 ======================================================
509 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
513 * Receiving photos from Mobical failed because Mobical
514 does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
515 Sending photos worked, but added a few bytes of garbage
516 at the end of each photo (typically ignored when showing).
517 Parser was made more tolerant by Synthesis and encoder bug
520 * Task priorities used by Mobical and Evolution did not match:
521 vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
522 SyncEvolution now translates between the two ranges, with
523 some information getting lost when talking to a peer which
524 only supports the smaller range.
526 * The workaround for detecting an endless stream of Alert 222
527 messages (caused by misbehavior of certain servers when
528 a specific message has to be resent) aborted certain
529 valid (albeit somewhat pathologic) sync sessions. Improved
530 the heuristic so that it still catches the real loop without
531 aborting in that other case.
533 * sync-ui: now disables sources which are not supported when
534 setting up a configuration, like memos on Moblin (MB #6672).
535 Previously the source was enabled, which prevented using
536 using the configuration as-is on the command line.
538 * .rpms on syncevolution.org no longer specify a dependency
539 on certain Perl features. This depencency was a problem on
540 Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
541 binaries are avoided for real this time (MB#6552).
543 * Trying to remove a non-existent configuration via the command
544 line now raises an error, to catch typos (MB #6673).
546 * Message resend options: added sanity checks to catch negative
547 values, clarified that duration is given in seconds, 0s resend
548 interval disables resending (MB #6500).
550 * Spelling fix: "aboring" => "aborting"
553 SyncEvolution 0.9 -> 0.9.1 beta 1, 06.10.2009
554 =============================================
555 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
557 Mobical and Memotoo are now officially supported.
559 Memotoo uses vCard 2.1 with several Evolution specific extensions. It
560 uses iCalendar 2.0, however, without actually supporting the advanced
561 features of it. Times are converted to UTC and meeting information are
564 Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
565 result that many properties used in Evolution are not supported by the
566 server. In particular calendar support is very limited (known issues
567 when events are in time zones different from the one selected locally
568 and on the server, no support for meetings). For details see
571 *** Beware *** that the Mobical SyncML password is *not* the same as
572 the one for their web site. Log into mobical.net, then go to "my accounts
573 >> configure new device >> manual settings" to find the SyncML
576 It is now possible to compile database backends outside of
577 SyncEvolution, install them and have SyncEvolution use them
578 automatically like any other backend. The backend API has been
579 enhanced considerably. For example, backend developers have
580 access to a modular set of utility classes that can be mixed
581 into a specific implementation. Backends can access the internal
582 Synthesis representation directly and therefore no longer need
583 their own vCard/vCalendar/iCalendar parser.
585 The sqlite demo backend can be enabled and compiled again with
586 --enable-sqlite. It demonstrates how to map directly from the
587 Synthesis field list to some internal format (an SQLite database
588 schema in this case).
592 * Resend messages to cope with intermittent loss of network
593 connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
594 and "ResendDelay" configuration properties for details.
596 * The logging of added and updated items was enhanced. Events,
597 tasks and memos are logged with a short description instead of
598 just the local ID. The description for contacts was improved.
600 * The sync UI allowed to enable calendar and task synchronization
601 with Google although Google does not support that (MB#5871).
602 In new installations this is prevented by clearing the URI
603 for those data categories.
605 * Importing work and home phone numbers from Google into desktop
606 Evolution works better, because SyncEvolution now adds the "VOICE"
607 flag expected by Evolution (MB#6501).
609 * SyncEvolution command line uses the GNOME keyring when
610 the new --keyring option is given.
612 * SSL certificate checking with Google is enabled by default
613 and enabled in Moblin, because libsoup in that distro has
614 the necessary fix. Without that fix, all connection attempts
615 fail. The binaries on syncevolution.org are compiled with
616 --disable-ssl-certificate-check, so users who want the
617 additional security must enable it.
619 * syncevolution.org binaries should be compatible with a wider
620 range of Evolution releases again (MB#6552).
622 * Some sync UI enhancements (describe sync services, avoid crash
623 with very long input in some of the text boxes (MB#5219), set
624 application icon, improved some strings).
626 * Improved checks which logs in the logdir belong to the current
629 * Improved sanity checking of integer configuration parameters
634 * Mobical and Memotoo do not have a description in the GUI yet.
636 * ZYB.com is not supported because of a known anchor handling
637 problem in the server (MB#2424).
640 SyncEvolution 0.8.1 -> 0.9, 12.08.2009
641 --------------------------------------
642 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
644 This is a major new release, with first steps towards further improvements.
645 From this release on, the Synthesis SyncML engine will be the
646 underlying SyncML and data conversion engine.
648 A native GTK GUI is now included. The "sync-ui" program depends on a
649 backend D-Bus service ("synevo-dbus-server") and several auxiliary
650 files. Therefore, it only runs without hacks after installation in
651 /usr (possible with .deb, .rpm and binary .tar.gz archives, and
652 with "sudo make install", after compiling from source). The
653 normal command line tool still works without being installed.
655 In this release, the data handling model was changed from "all items
656 are sent verbatim to the SyncML server" to "parse and convert". The
657 argument for the former approach was that the SyncML server should be
658 the only entity in the system which does data conversion. The previous
659 releases already had to deviate from this approach to accommodate for
660 minor client/server incompatibilities and for vCard 2.1 support, so the
661 new approach just takes it one step further.
663 The main reason for going to full semantic conversion is vCalendar 1.0
664 support. Support by servers for iCalendar 2.0, the only format
665 supported by 0.8.1, is often still incomplete or even non-existent. By
666 doing the conversion on the client side, SyncEvolution is now able to
667 synchronize events and tasks with a wider variety of servers.
669 It is still true that properties not supported by a server cannot
670 be synchronized to other devices, so using a server with full
671 iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
672 information that can be stored only locally is no longer lost when
673 receiving an incomplete update from the SyncML server, thanks to
674 intelligent merging, provided by the Synthesis engine. This depends on
675 an accurate description of the server's capabilities, which might not
676 be provided by all of them. This still needs to be tested in more detail.
678 Interoperability with servers tested extensively in this release.
679 The following servers are now supported:
681 * ScheduleWorld. There is very complete support for Evolution data. The
682 only known issues are around resuming from an interrupted sync.
684 * Google contact sync.
686 Google follows the vCard 2.1 specification, and thus does not support
687 some of the vCard 3.0 additions, nor some of the common extensions. As
688 a result, several properties are not synchronized (nickname, birthday,
689 spouse/manager, URLs, ...). Only one top-level organization seems to
690 be supported. For details, see README.google.
692 Regarding Google's SyncML support, refresh-from-client and
693 one-way-from-client sync modes are not supported. Deleting contacts
694 moves them out of the main address without deleting them permanently. When
695 adding such a contact again, the server discards the data sent by the
696 client and recreates the contact with the data that it remembered.
698 Because SSL certificate checking for Google works only with libsoup
699 if the platform has a patched libsoup
700 (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >=
701 2.28, certificate checking remains turned off by default for
702 Google. If your platform has a suitable libsoup (like Moblin 2.0),
703 then enable checking with:
705 syncevolution --configure \
706 --sync-property SSLVerifyServer=true \
707 --sync-property SSLVerifyHost=true \
710 * Funambol, with calendar and task support. Funambol supports iCalendar 2.0
711 in the current server, so this is enabled in the configuration template.
712 Not all iCalendar 2.0 features are supported by the server,
713 most notably support for meetings (drops attendees), meeting
714 invitations (drops UID), detached recurrences
715 (drops RECURRENCE-ID). See README.funambol for details.
717 Interoperability with the Funambol server was improved by adding
718 support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
719 #2418). Lost ACTION property has a work around (#2422).
721 To enable that support in an existing configuration so that it
722 exchanges items in the more suitable iCalendar 2.0 format, use:
724 syncevolution --configure --source-property sync=two-way \
725 funambol calendar todo
726 syncevolution --configure --source-property type='calendar:text/calendar!' \
728 syncevolution --configure --source-property type='todo:text/calendar!' \
731 Without the exclamation mark, format auto-negotiation would pick the
732 less capable vCalendar 1.0 format because that is marked as preferred
736 *** WARNING ***: After switching from a previous release to the
737 current one, or vice versa, do a "syncevolution --sync
738 refresh-from-server" or "--sync refresh-from-client" (depending on
739 which side has the authoritative copy of the data) once, to get client
740 and server into a consistent state. Not doing so can result in
741 applying the same changes to the server multiple times, and thus
744 Other changes in detail:
746 * vCalendar 1.0 is now supported.
748 * Both libcurl and libsoup can be selected at compile time as HTTP(S)
751 * SF #2101015: Expect: 100-continue header results in 417 Error with proxy.
752 Should no longer occur with the HTTP transports in this release.
754 * SF #1874805: Syncing with Funambol results in loosing all-day property.
755 This now works thanks to the Synthesis data conversion rules.
757 * SF #2586600: Synchronisation with mobical.net fails in 0.8.1.
758 Works now, but there are some known issues (Bugzilla #3009)
759 and therefore mobical.net is not officially supported yet.
761 * SF #2542968: Separator for categories should not be escaped.
762 Done correctly by the Synthesis vcard conversion.
764 * bug fix: Evolution notes with only a summary and no description were
765 not sent correctly to the server. Instead of sending the summary,
766 an empty text was sent.
768 * CTRL-C no longer kills SyncEvolution right away. Instead it
769 asks the server to suspend the session. If that takes too
770 long, then pressing CTRL-C twice quickly will abort the sync
771 without waiting for the server (Warning, this may lead to a
772 slow sync in the next session).
774 * WBXML is enabled by default now, except for Funambol (#2415).
775 Using WBXML reduces message sizes and increases parsing
778 * New configuration templates can be added to
779 /etc/default/applications/syncevolution. These templates may contain
780 icons, which are used by the GUI (no icons shipped right now).
782 * Information about previous synchronization sessions is now stored in a
783 machine-readable format and can be accessed using the new
784 --print-sessions options. The output of this information is more
785 complete and more nicely formatted.
787 * --status now shows not only data changes since the last sync, but also
788 item changes (see README for the difference between the two).
790 * The new --restore option allows restoring local data to the state as
791 it was before or after a sync. For this to work, "logdir" must be set
792 (done by default for new configurations). The format of database dumps
793 was changed to implement this feature. Instead of in a flat file,
794 items are now saved as individual files in a directory. To get the
795 previous format back (for example, to import as one .vcf or .ics file
796 manually) concatenate these files.
798 * With –-remove, one can remove configurations. It leaves data files and
799 the local databases untouched.
804 * The GUI includes the number of locally deleted items during a
805 refresh-from-server sync in the number of "received changes"
806 (#5185), which is a bit misleading. This is a result of #3314,
807 which introduced changes not "received" from the server.
809 * When a network error occurs and the client
810 never notices that the connection to the server was lost,
811 it will hang forever, waiting for the server's reply (#3427).
813 * The file backend now works only for data formats understood
814 by SyncEvolution and the Synthesis engine. Items are parsed
815 when exchanging them among the backend, engine, and server,
816 in contrast to 0.8.1, where item content was not touched
819 * The ZYB.com server sends conflicting sync anchors, so
820 most syncs don't work as expected (#2424).
823 SyncEvolution 0.9 beta 3 hotfix -> 0.9 final, 12.08.2009
824 --------------------------------------------------------
826 Because SSL certificate checking for Google only works with libsoup if
827 the platform has a patched libsoup
828 (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >= 2.28,
829 certificate checking remains turned off by default for Google. If your
830 platform has a suitable libsoup (like Moblin 2.0), then enable
833 syncevolution --configure \
834 --sync-property SSLVerifyServer=true \
835 --sync-property SSLVerifyHost=true \
839 * updated translations
840 * refresh-from-server syncs now report how many items were
841 deleted locally at the start of the sync (Bugzilla #3314).
842 The GUI includes the number of locally deleted items during a
843 refresh-from-server sync in the number of "received changes",
844 which is a bit misleading (#5185).
845 * fixed build issue on Fedora 11/g++ 4.4 (Bugzilla #5061)
846 * some build and test improvements
847 * proper fix for D-Bus error functions (#4919)
848 * improve sync-ui startup time by avoiding an unnecessary
849 copying of the sync config into itself (#5021)
850 * adapted tooltip style (used for SyncML server links) to new
851 Moblin theme, they weren't visible earlier (#5017)
852 * notify zone selector in Moblin 2.0 about sync-ui startup (#4752)
853 * sync-ui: minor layout change for fatal error situation
856 SyncEvolution 0.9 beta 3 -> 0.9 beta 3 hotfix, 23.07.2009
857 ---------------------------------------------------------
859 Found additional Google limitation: the server drops photos if they
860 exceed a certain size. The limit is somewhere between 40KB (okay) and
863 The last-minute workaround for Google/libsoup/gnutls (using http)
864 didn't work because apparently Google only supports SyncML over https
865 (Bugzilla #4551). Now the default configuration template uses https
866 with all certificate checking disabled. A patch for libsoup was
867 submitted to upstream.
869 Some error messages by the "syncevolution" command line tool were not
870 printed (#4676). The root cause was the intentional interception of
871 stderr to hide the noise printed by various system libraries
872 (#1333). Unfortunately remarks about incorrect command line options
873 were among swallowed messages. No good workaround available short of
874 disabling the redirection with SYNCEVOLUTION_DEBUG=1, so let's release
878 * updated translations
881 SyncEvolution 0.9 beta 2 -> 0.9 beta 3, 21.07.2009
882 --------------------------------------------------
883 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
885 Enabled calendar and task synchronization for myFunambol.com.
886 Not all iCalendar 2.0 features are supported by the server,
887 most notably support for meetings (drops attendees), meeting
888 invitations (drops UID), detached recurrences
889 (drops RECURRENCE-ID). See README.funambol for details.
891 Interoperability with the Funambol server was improved by adding
892 support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
893 Bugzilla #2418). Lost ACTION property is worked around (#2422).
895 Synchronization with Google Contacts was enabled and tested.
896 A configuration template for that server is now provided. Google
897 follows the vCard 2.1 specification and thus does not support some
898 of the vCard 3.0 additions, nor some of the common extensions. As
899 a result, several properties are not synchronized (nickname, birthday,
900 spouse/manager, URLs, ...). Only one top-level organization seems to
901 be supported. For details, see README.google.
903 Regarding Google's SyncML support, refresh-from-client and
904 one-way-from-client sync modes are not supported. Deleting contacts
905 moves them out of the main address without deleting them permanently. When
906 adding such a contact again, the server discards the data sent by the
907 client and recreates the contact with the data that it remembered.
909 SSL certificate checking with libsoup (the default transport) is now
910 supported (#2431). However, libsoup/gnutls are very strict about SSL
911 certificate checking and reject version 1 certificates, like the one
912 used by Verisign for Google (#4551). At the moment the only solution
913 is to fall back to plain http in the Google configuration template.
915 CTRL-C no longer kills SyncEvolution right away. Instead it
916 asks the server to suspend the session. If that takes too
917 long, then pressing CTRL-C twice quickly will abort the sync
918 without waiting for the server (warning, this may lead to a
919 slow sync in the next session).
921 WBXML is enabled by default now, except for Funambol (#2415).
922 Using WBXML reduces message sizes and increases parsing
923 performance. It was not enabled initially in the 0.9 releases in order
924 to test this new feature more thoroughly. Old configs don't have an
925 explicit enableWBXML setting and therefore will automatically use the
928 Various bug fixes and improvements:
930 * only show servers in GUI which are tested and supported (Bugzilla #3336)
931 * a single log file is written in .html format (#3474)
932 * added several translations of the GUI
933 * lots of testing improvements, build binary packages again
937 When enabling calendar and todo synchronization with Funambol
938 in an existing configuration, set the type so that iCalendar 2.0 is used:
939 syncevolution --configure --source-property sync=two-way funambol calendar todo
940 syncevolution --configure --source-property type='calendar:text/calendar!' funambol calendar
941 syncevolution --configure --source-property type='todo:text/calendar!' funambol todo
943 When creating a configuration anew, this is not necessary because the
944 configuration template contains those types.
947 SyncEvolution 0.9 beta 1 -> 0.9 beta 2, 12.06.2009
948 --------------------------------------------------
949 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
951 Major new feature: a GTK GUI! The "sync-ui" program depends on a
952 backend D-Bus service ("synevo-dbus-server") and several auxiliary
953 files. Therefore it only runs without hacks after "sudo make install",
954 in contrast to the normal command line which can be invoked directly.
956 New configuration templates can be added to
957 /etc/default/applications/syncevolution. These templates may contain
958 icons which are used by the GUI (no icons shipped right now).
960 Information about previous synchronization sessions is now stored in a
961 machine-readable format and can be accessed via the new
962 --print-sessions options. The output of this information is more
963 complete and nicer formatted.
965 --status now not only shows data changes since the last sync, but also
966 the item changes (see README for the difference between the two).
968 The new --restore option allows restoring local data to the state as
969 it was before or after a sync. For this to work, "logdir" must be set
970 (done by default for new configurations). The format of database dumps
971 was changed to implement this feature: instead of in a flat file,
972 items are now saved as individual files in a directory. To get the
973 previous format back (for example, to import as one .vcf or .ics file
974 manually) concatenate these files.
976 With --remove one can remove configurations. It leaves data files and
977 the local databases untouched.
979 Various bug fixes and improvements:
981 * compiles and works again on Debian Etch if Boost 1.35 is installed
982 from www.backports.org (without GUI, see Bugzilla #3358)
984 * uses XDG_CACHE_HOME (= ~/.cache) for logs and database dumps to
985 avoid interfering with .desktop search in XDG_DATA_HOME; the
986 directory there is automatically moved when running syncevolution
989 * re-enabled certain config options (clientAuthType, maxMsgSize, maxObjSize);
990 normally it shouldn't be necessary to modify those (Bugzilla #3242, #2784)
992 * fixed error handling of unexpected server reply in libsoup transport
995 * message logging is enabled at logLevel 3 (XML translation) and 4 (also
996 original XML or WBXML message)
998 * GTK GUI fixes since initial Moblin 2.0 beta: only start it once if
999 libunique is available (Bugzilla #3154), wrap text in change sync service"
1000 button (Bugzilla #2064), sort sources alphabetically in UI (Bugzilla #2070)
1003 SyncEvolution 0.8.1 -> 0.9 beta 1, 13.05.2009
1004 ---------------------------------------------
1005 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
1007 A major new release and the first step towards further improvements:
1008 from this release onwards, the Synthesis SyncML engine is used as the
1009 underlying SyncML and data conversion engine. The focus of this first
1010 beta was to reach the same level of functionality and stability as in
1011 0.8.1. Therefore this beta does not yet bring much new features; this
1012 will be the focus of further beta releases until finally 0.9 will be a
1013 full replacement for 0.8.1.
1015 This release also switches from an "all items are sent verbatim to the
1016 SyncML server" to a "parse and convert" data handling model. The
1017 argument for the former approach was that the SyncML server should be
1018 the only entity in the system which does data conversion. The previous
1019 releases already had to deviate from this approach to accommodate for
1020 minor client/server incompatibilities and for vCard 2.1 support.
1022 The main reason for going to full semantic conversion is vCalendar 1.0
1023 support. Support by servers for iCalendar 2.0, the only format
1024 supported by 0.8.1, is often still incomplete or even non-existent. By
1025 doing the conversion on the client side, SyncEvolution is now able to
1026 synchronize events and tasks with a wider variety of servers.
1028 It is still true that properties not supported by a server cannot
1029 be synchronized to other devices, so using a server with full
1030 iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
1031 information that can only be stored locally is no longer lost when
1032 receiving an incomplete update from the SyncML server thanks to
1033 intelligent merging provided by the Synthesis engine. This depends on
1034 an accurate description of the server's capabilities, which might not
1035 be provided by all of them - still needs to be tested in more detail.
1037 *** WARNING ***: after switching from a previous release to the
1038 current one or vice versa, do a "syncevolution --sync
1039 refresh-from-server" or "--sync refresh-from-client" (depending on
1040 which side has the authoritative copy of the data) once to get client
1041 and server into a consistent state. Not doing so can result in
1042 applying the same changes to the server multiple times and thus
1047 * vCalendar 1.0 is now supported. Because this hasn't been tested that
1048 much yet, events and tasks are still disabled in the Funambol default
1049 configuration (SF #2635973).
1051 * Both libcurl and libsoup can be selected at compile time as HTTP(S)
1052 transport mechanism.
1054 * SF #2101015: Expect: 100-continue header results in 417 Error with proxy
1055 Should no longer occur with the HTTP transports in this release.
1057 * SF #1874805: Syncing with Funambol results in loosing all-day property
1058 This now works thanks to the Synthesis data conversion rules.
1060 * SF #2586600: Synchronisation with mobical.net fails
1061 Should work now because of the different SyncML implementation (untested).
1063 * SF #2542968: separator for categories should not be escaped
1064 Done correctly by the Synthesis vcard conversion.
1066 * bug fix: Evolution notes with only a summary and no description were
1067 not sent correctly to the server: an empty text was sent instead of
1070 Known shortcomings in this release which will be fixed before the
1073 * Verbatim file backups of items on the SyncML server are currently
1074 not possible: the SyncEvolution "file" backend still exists, but
1075 all items are converted by the Synthesis engine and therefore must
1076 be in a format supported by the engine.
1078 * HTTPS can be used with libsoup, but certificate checking is always
1079 disabled. Need to find a portable way to determine where the
1080 certificate file is on various systems.
1082 * Log file handling is not yet unified: the traditional client.log
1083 contains only high-level SyncEvolution log entries. Low-level
1084 SyncML and engine log entries are in sysync_*.html files.
1086 * stdout and stderr messages from system libraries are visible on the
1087 console. 0.8.1 used to redirect those into the client.log to hide
1088 this noise; this will be added again. In the meantime, ignore
1089 messages like "Deadlock potential - avoiding evil bug!". This is
1090 liborbit telling us that it is (hopefully successfully) handling
1094 SyncEvolution 0.8.1 -> 0.8.1a, 15.12.2008
1095 -----------------------------------------
1096 C++ client library: 7.0 plus some patches, see github
1097 repository referenced in configure script.
1099 A minor bug fix release, updating only necessary on Mac OS X.
1101 * #2307976 "Trace/BPT trap - sync failure": occurs randomly in
1102 Mac OS X specific transport layer of the Funambol C++ client
1103 library. Avoided in 0.8.1a by using libcurl as transport,
1107 SyncEvolution 0.8 -> 0.8.1, 11.10.2008
1108 --------------------------------------
1109 C++ client library: 7.0 plus some patches, see github
1110 repository referenced in configure script.
1112 A minor bug fix release, updating not really necessary.
1113 The binary packages for Evolution are built now so that
1114 one package works for all compatible Evolution releases,
1115 including the new Evolution 2.24.
1117 * Evolution calendar: regression in 0.8: one-way sync of virtual
1118 birthday calendar (#2095433). "refresh-from-client" works again
1119 for the birthday calendar. Other modes are not supported.
1120 In contrast to previous releases SyncEvolution now does some
1121 sanity checks that the sync mode is right.
1122 * Mac OS X: removing old logdirs failed (#2087389). Fixed.
1123 * SyncML client library: "Expect: 100-continue" header
1124 resulted in 417 error with certain proxies (#2101015).
1125 Now this header is always disabled; it doesn't make
1126 much sense with SyncML anyway.
1127 * The development of the Funambol C++ client library is now
1128 tracked in a git repository on github.com. Modifications
1129 and tags for SyncEvolution are checked in there. The
1130 configure script checks out the right sources from there
1131 automatically; can be controlled via --with-funambol-src
1133 * Evolution desktop: the version of the used Evolution libraries
1134 is included in the "--version" output and log files.
1135 * Cleaned up README. Kudos to Martin Wetterstedt for pointing
1136 out mistakes in the README and the web site.
1139 SyncEvolution 0.7 -> 0.8, 29.08.2008
1140 ------------------------------------
1141 C++ client library: 7.0 plus compatibility patch for Synthesis
1143 Updating user configuration: this version introduces a new, simplified
1144 configuration layout. Old configurations still work. They can be
1145 converted to the new format via a new "--migrate" command line option.
1147 *** WARNING ***: this version uses a different change tracking for Mac
1148 OS X address book, Evolution calendars, task lists and memos. After
1149 switching from a previous release to the current one or vice versa, do
1150 a "syncevolution --sync refresh-from-server" once to reset the change
1151 tracking. Not doing so can result in applying the same changes to the
1152 server multiple times and thus duplicates.
1154 * New configuration file layout: following the freedesktop.org
1155 recommendation, new configurations are stored in
1156 $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
1157 XDG_CONFIG_HOME is not set. The old layout under
1158 $HOME/.sync4j/evolution is still supported.
1160 * New command line options: new configurations can be created by
1161 syncevolution itself (--configure), including setting of all
1162 configuration properties (--sync-property, --source-property).
1163 The configuration can dumped to stdout (--print-config), with or
1164 without comments explaining each property (--quiet). See the
1167 * The "evolutionsource" source property no longer has to be configured.
1168 If left blank, the default client database will be synchronized.
1170 * Selecting which kind of data is to be synchronized under a specific
1171 source name is a lot easier now and the same on all supported
1172 platforms: the SyncEvolution backends can be selected via aliases
1173 (e.g. "contacts") and the format is specified via an optional
1174 MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
1175 that multiple backends are active which can synchronize the same
1176 kind of data, then the right one can be selected by the unique
1177 name of the backend (e.g. "Evolution Address Book").
1179 * New configurations automatically get a random client ID string.
1180 Setting it manually is still possible, but no longer necessary.
1181 Disabling unavailable data sources is also done automatically.
1183 SyncEvolution checks that the backend is available and there is
1184 at least one database (the first one will be synchronized unless
1185 explicitly changed). If these checks fail and the sync source was
1186 explicitly requested by the user by listing it after the server
1187 name, then an error is printed and no configuration is written.
1188 If the user wants the default setup, then the source is silently
1191 * All passwords can be read from stdin at runtime or an environment
1192 variable (see "--sync-property password=?" or README for details).
1193 Both avoids the less secure storing of plain text passwords in the
1194 configuration files (SF #1832458).
1196 * Detached recurrences: meeting series where some occurrences were
1197 modified are now supported. Previously only the main event was
1198 synchronized. All exceptions got lost when copying back from the
1199 server. Requires a SyncML server which supports this. ScheduleWorld
1200 was extended to do that.
1202 * Fixed segfaults caused by logging certain data. The reason was an
1203 API change in the client library's logging calls which the older
1204 SyncEvolution code hadn't been adapted to. Did not normally occur,
1205 but might have been the reason for SF #1830149 (unconfirmed).
1207 * Time zone support: the time zones of incoming events are mapped
1208 to native time zone definitions whenever possible. Currently
1209 this works if the TZID follows the Olson naming scheme with a
1210 location at the end. Matching the time zone has the advantage of
1211 being able to update the time zone definition without having to
1212 recreate the event. If matching fails and the VTIMEZONE definition
1213 differs from one already imported earlier, then SyncEvolution works
1214 arounds limitation in Evolution by renaming the time zone.
1215 Previously the new event used the old and most likely out-dated
1216 time zone definition.
1218 ***WARNING***: Evolution itself does not do either of these steps
1219 itself yet, thus importing meeting invitations via Evolution still
1220 fails in some cases. The code implementing the time zone handling
1221 described above was written with inclusion into Evolution itself in
1222 mind; a discussion with the Evolution developers about that is in
1225 * On Maemo/Nokia Internet Tablets, calendar synchronization now
1226 works because the new calendar change tracking no longer depends
1227 on some of the backend calls which used to fail (SF #1734977).
1229 * Added SSL configuration options: certificate checking can be
1230 relaxed or disabled completely (SF #1852647).
1232 * Added a new file backend: stores each SyncML item as a separate file
1233 in a directory. The directory has to be specified via the database
1234 name, using [file://]<path> as format. The file:// prefix is
1235 optional, but the directory is only created if it is used.
1237 Change tracking is done via the file systems modification time
1238 stamp: editing a file treats it as modified and then sends it to the
1239 server in the next sync. Removing and adding files also works.
1241 The local unique identifier for each item is its name in the
1242 directory. New files are created using a running count which
1243 initialized based on the initial content of the directory to
1244 "highest existing number + 1" and incremented to avoid collisions.
1246 Although this sync source itself does not care about the content of
1247 each item/file, the server needs to know what each item sent to it
1248 contains and what items the source is able to receive. Therefore
1249 the "type" property for this source must contain a data format
1250 specified, including a version for it. Here are some examples:
1251 - type=file:text/vcard:3.0
1252 - type=file:text/plain:1.0
1254 * Code restructuring: it is now possible to add new backends and thus
1255 write SyncML clients for other kinds of data without touching any
1256 line of code in SyncEvolution itself. All the required interfaces
1257 are documented inside SyncEvolution itself. A HTML documentation can
1258 be built via the new "make doc" target (requires Doxygen and dot).
1260 The SyncEvolution framework itself never depended on GNOME or
1261 Evolution, only the Evolution data sources did. If you want
1262 support for other ways of storing your data, consider writing
1263 a new data source - it is really easy. See EvolutionSyncSource
1264 or TrackingSyncSource for details.
1266 * Messages are printed to the screen immediately. More readable
1269 * Maemo: the useless ''list: unable to access calendars:
1270 failure' error message is avoided. It was triggered by not having
1271 memo support in Evolution Data Server. Cleaned up the code so that
1272 it properly distinguishes between 'calendar', 'memo list' and
1275 * added server template for MemoToo; note that the server has not been
1278 * added synchronization of Evolution memo summary
1280 Most devices only synchronize plain text and do not have a
1281 separate summary field. Such an extra summary field was added to
1282 Evolution after memo support was initially implemented in
1283 SyncEvolution, therefore SyncEvolution did not transmit that
1286 Added transmitting the summary by inserting it as first line of
1287 the plain text blob *if* it is not already identical with the
1288 first line. When receiving a memo, the summary is set from the
1289 first line *without* removing the first line because the first
1290 line might have been used as a normal part of the memo.
1292 * Various other minor changes, fixes and lots of code cleanups.
1294 * license cleanup: SyncEvolution is GPL v2 or later
1297 SyncEvolution 0.8 beta 2 -> 0.8 final, 29.08.2008
1298 -------------------------------------------------
1299 C++ client library: 7.0 plus compatibility patch for Synthesis
1301 * license cleanup: SyncEvolution is GPL v2 or later
1304 SyncEvolution 0.8 beta 2 -> 0.8 beta 3, 17.08.2008
1305 --------------------------------------------------
1306 C++ client library: 7.0 plus compatibility patch for Synthesis
1308 * Another revision of updating events in Evolution calendars:
1309 the method introduced in 0.8 beta 1 for dealing with
1310 detached recurrences did not work with the Evolution Exchange
1311 Connector. Now both Exchange and local calendars pass the unit
1314 * minor code cleanup (testing, writing additional backends)
1317 SyncEvolution 0.8 beta 1 -> 0,8 beta 2, 03.08.2008
1318 --------------------------------------------------
1319 C++ client library: 7.0 plus compatibility patch for Synthesis
1321 * To prevent accidental sync runs when a configuration change
1322 was intented, a new --run switch must be used when configuration
1323 properties are given on the command line. When neither --run
1324 nor --configure are specified, SyncEvolution prints an
1325 error and refuses to do anything.
1327 * Improved documentation for command line, in particular the synopsis.
1329 * Added a new file backend: stores each SyncML item as a separate file
1330 in a directory. The directory has to be specified via the database
1331 name, using [file://]<path> as format. The file:// prefix is
1332 optional, but the directory is only created if it is used.
1334 Change tracking is done via the file systems modification time
1335 stamp: editing a file treats it as modified and then sends it to the
1336 server in the next sync. Removing and adding files also works.
1338 The local unique identifier for each item is its name in the
1339 directory. New files are created using a running count which
1340 initialized based on the initial content of the directory to
1341 "highest existing number + 1" and incremented to avoid collisions.
1343 Although this sync source itself does not care about the content of
1344 each item/file, the server needs to know what each item sent to it
1345 contains and what items the source is able to receive. Therefore
1346 the "type" property for this source must contain a data format
1347 specified, including a version for it. Here are some examples:
1348 - type=file:text/vcard:3.0
1349 - type=file:text/plain:1.0
1351 * Code restructuring: it is now possible to add new backends and thus
1352 write SyncML clients for other kinds of data without touching any
1353 line of code in SyncEvolution itself. All the required interfaces
1354 are documented inside SyncEvolution itself. A HTML documentation can
1355 be built via the new "make doc" target (requires Doxygen and dot).
1358 SyncEvolution 0.8 alpha 1 -> 0.8 beta 1, 12.07.2008
1359 ---------------------------------------------------
1360 C++ client library: the frozen 7.0 code, but before the release
1362 * Added support for detached recurrences (aka modified instances of
1363 a recurring event). Requires a SyncML server which supports this.
1364 ScheduleWorld was extended to do that.
1366 * Fixed segfaults caused by logging certain data. The reason was an
1367 API change in the client library's logging calls which the older
1368 SyncEvolution code hadn't been adapted to. Did not normally occur,
1369 but might have been the reason for SF #1830149 (unconfirmed).
1371 * when creating a config for the first time, only enable sync sources
1372 which can be synchronized (SF #1991286)
1374 The check for that was completely missing. Now SyncEvolution
1375 checks that the backend is available and there is at least one
1376 database (the first one will be synchronized unless explicitly
1377 changed). If these checks fail and the sync source was explicitly
1378 requested by the user by listing it after the server name, then
1379 an error is printed and no configuration is written. If the user
1380 wants the default setup, then the source is silently disabled.
1382 * Fixed incorrect properties in some of the new server templates
1383 (ScheduleWorld syncURL + calender URI, Funambol syncURL, ScheduleWorld
1386 * Device IDs must start with the "sc-pim-" prefix, otherwise myFUNAMBOL
1387 may treat different devices as the single phone that myFUNAMBOL
1388 supports, leading to unwanted slow syncs.
1390 * Maemo package is build again so that backends are loaded dynamically:
1391 installing Dates application is as it was with the 0.7 release
1392 (SF #1993109). The useless ''list: unable to access calendars:
1393 failure' error message is avoided. It was triggered by not having
1394 memo support in Evolution Data Server. Cleaned up the code so that
1395 it properly distinguishes between 'calendar', 'memo list' and
1398 * added server template for MemoToo; note that the server has not been
1401 * added synchronization of Evolution memo summary
1403 Most devices only synchronize plain text and do not have a
1404 separate summary field. Such an extra summary field was added to
1405 Evolution after memo support was initially implemented in
1406 SyncEvolution, therefore SyncEvolution did not transmit that
1409 Added transmitting the summary by inserting it as first line of
1410 the plain text blob *if* it is not already identical with the
1411 first line. When receiving a memo, the summary is set from the
1412 first line *without* removing the first line because the first
1413 line might have been used as a normal part of the memo.
1415 * removed --properties option: it wasn't implemented yet and won't be in 0.8
1417 * fixed regression in alpha 1: setting sync mode during status query
1418 or sync affected *all* sources, even the disabled ones. Now it only
1419 affects the enabled ones, as intended. To enable disabled sync sources,
1420 list them after the server name.
1422 *** WARNING ***: this version uses a different change tracking for
1423 for Mac OS X AddressBook. After switching from a previous release to the current
1424 one or vice versa, do a "syncevolution --sync refresh-from-server"
1425 once to reset the change tracking. Not doing so can result in applying
1426 the same changes to the server multiple times and thus duplicates.
1428 A similar change was necessary in 0.8 alpha 1 for Evolution calendar,
1429 tasks, and memos. When switching from a version >= 0.8 alpha 1 to an
1430 older version or vice versa also refresh the local databases.
1432 0.8 alpha 1 did not create correct configurations. When you want to continue
1433 using such a configuration, make sure that in addition to the obviously
1434 wrong syncURLs also the less obvious ScheduleWorld config mistakes are fixed:
1435 * calendar: uri=cal2
1436 * addressbook: type=addressbook:text/vcard
1437 * deviceId must start with "sc-pim-" if you synchronize with myFUNAMBOL,
1438 otherwise there may be unwanted slow syncs when multiple devices with
1439 a different deviceId connect. Note that changing the deviceId causes
1440 a slow sync, so you should get client and server in sync before changing
1441 the value, change it, then do a "--sync refresh-from-server".
1444 SyncEvolution 0.7 -> 0.8 alpha 1, 19.04.2008
1445 --------------------------------------------
1446 C++ client library: a snapshot of the development version
1448 Updating user configuration: this version introduces a new, simplified
1449 configuration layout. Old configurations still work. They can be
1450 converted to the new format via a new "--migrate" command line option.
1452 *** WARNING ***: this version uses a different change tracking for
1453 Evolution calendars, task lists and memos. After switching from a previous
1454 release to the current one or vice versa, do a "syncevolution --sync
1455 refresh-from-server" once to reset the change tracking. Not doing so
1456 can result in applying the same changes to the server multiple times
1457 and thus duplicates.
1459 * New configuration file layout: following the freedesktop.org
1460 recommendation, new configurations are stored in
1461 $XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
1462 XDG_CONFIG_HOME is not set. The old layout under
1463 $HOME/.sync4j/evolution is still supported.
1465 * New command line options: new configurations can be created by
1466 syncevolution itself (--configure), including setting of all
1467 configuration properties (--sync-property, --source-property).
1468 The configuration can dumped to stdout (--print-config), with or
1469 without comments explaining each property (--quiet). See the
1472 * The "evolutionsource" source property no longer has to be configured.
1473 If left blank, the default client database will be synchronized.
1475 * Selecting which kind of data is to be synchronized under a specific
1476 source name is a lot easier now and the same on all supported
1477 platforms: the SyncEvolution backends can be selected via aliases
1478 (e.g. "contacts") and the format is specified via an optional
1479 MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
1480 that multiple backends are active which can synchronize the same
1481 kind of data, then the right one can be selected by the unique
1482 name of the backend (e.g. "Evolution Address Book").
1484 * New configurations automatically get a random client ID string.
1485 Setting it manually is still possible, but no longer necessary.
1487 * All passwords can be read from stdin at runtime or an environment
1488 variable (see "--sync-property password=?" or README for details).
1489 Both avoids the less secure storing of plain text passwords in the
1490 configuration files (SF #1832458).
1492 * Detached recurrences: meeting series where some occurrences were
1493 modified are now supported. Previously only the main event was
1494 synchronized. All exceptions got lost when copying back from the
1495 server. ***WARNING***: such events are accepted by ScheduleWorld,
1496 but not propagated to other clients. Under investigation.
1498 * Time zone support: the time zones of incoming events are mapped
1499 to native time zone definitions whenever possible. Currently
1500 this works if the TZID follows the Olson naming scheme with a
1501 location at the end. Matching the time zone has the advantage of
1502 being able to update the time zone definition without having to
1503 recreate the event. If matching fails and the VTIMEZONE definition
1504 differs from one already imported earlier, then SyncEvolution works
1505 arounds limitation in Evolution by renaming the time zone.
1506 Previously the new event used the old and most likely out-dated
1507 time zone definition.
1509 ***WARNING***: Evolution itself does not do either of these steps
1510 itself yet, thus importing meeting invitations via Evolution still
1511 fails in some cases. The code implementing the time zone handling
1512 described above was written with inclusion into Evolution itself in
1513 mind; a discussion with the Evolution developers about that is in
1516 * On Maemo/Nokia Internet Tablets, calendar synchronization now
1517 works because the new calendar change tracking no longer depends
1518 on some of the backend calls which used to fail (SF #1734977).
1520 * Added SSL configuration options: certificate checking can be
1521 relaxed or disabled completely (SF #1852647).
1523 * Adding support for new local data sources is easier now. The
1524 SyncEvolution frame work itself never depended on GNOME or
1525 Evolution, only the Evolution data sources did. If you want
1526 support for other ways of storing your data, consider writing
1527 a new data source - it is really easy. See EvolutionSyncSource
1528 or TrackingSyncSource for details.
1530 * Messages are printed to the screen immediately. More readable
1533 * Various other minor changes and fixes.
1536 SyncEvolution 0.6 -> 0.7, 17.12.2007
1537 ------------------------------------
1538 C++ client library: r_6_5_3_1
1540 Updating user configuration: no relevant changes in this release. For those
1541 who haven't done so already, enabling large object support is recommended
1542 (see syncml/config.txt sample configs).
1544 * added port for iPhone and Mac OS X Address Book
1546 * fixed Nokia packaging problem which prevented installation
1547 via the package manager unless it was in "red pill" mode
1550 * sync with eGroupware - lost or messed up telephones: SyncEvolution
1551 incorrectly added TYPE=OTHER to phone numbers sent with e.g.
1552 CELL instead of TYPE=CELL (SF #1796086). Another patch was
1553 required for eGroupware itself to correctly map phone numbers
1554 as sent by SyncEvolution, see Compatibility web page.
1556 * added .deb packages
1558 * adapted calendar event insert/update to Evolution 2.12: the UID needs to be
1559 restored, otherwise the Evolution backend crashes (GNOME issue #488881)
1561 * new feature: if the previous log directory is still available,
1562 then local changes made since last sync can be queried
1563 before starting a sync (new option --status) and will be
1564 printed directly before a sync. Setting the "logdir" option
1565 will automatically keep the most recent logs and database
1568 * added command line options:
1570 Temporarily synchronize the active sources in that mode. Useful
1571 for a 'refresh-from-server' or 'refresh-from-client' sync which
1572 clears all data at one end and copies all items from the other.
1575 The changes made to local data since the last synchronization are
1576 shown without starting a new one. This can be used to see in advance
1577 whether the local data needs to be synchronized with the server.
1580 Suppresses most of the normal output during a synchronization. The
1581 log file still contains all the information.
1584 Prints usage information.
1587 Prints the SyncEvolution version.
1589 * default configurations now reference the normal Evolution databases
1590 ("Personal") thus requiring less changes to use. The account information
1591 is now clearly marked as placeholder which needs to be entered.
1593 * bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
1594 by SyncEvolution (must convert to upper case because vCard 2.1 only allows
1595 that), leading to problems with mapping phone numbers in the Funambol server.
1596 Diagnosed and reported by Paul McDermott, thanks a lot!
1598 * support receiving plain text notes with \n and \r\n line breaks;
1599 always send with \r\n
1601 * added explicit error message when syncevolution is invoked
1602 with incorrect names in the list of sources to synchronize:
1603 previously it silently ignored unknown names
1605 * improved output: less verbose ("extracting" items is now
1606 logged at debug level and thus not normally shown) and more
1607 informative printing of changes (table summarizes number of
1608 changes on client and server, heading for comparison changed
1609 to make it clear that it shows changes on the client)
1611 * SyncCap is not generated unless syncModes are configured: added
1612 a comment to example config (SF #1764123)
1614 * improved error handling: catch errors during post-processing and
1618 SyncEvolution 0.7-pre2 -> 0.7, 17.12.2007
1619 -----------------------------------------
1620 C++ client library: r_6_5_3_1
1622 * bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
1623 by SyncEvolution (must convert to upper case because vCard 2.1 only allows
1624 that), leading to problems with mapping phone numbers in the Funambol server.
1625 Diagnosed and reported by Paul McDermott, thanks a lot!
1627 * support receiving plain text notes with \n and \r\n line breaks;
1628 always send with \r\n
1630 * added explicit error message when syncevolution is invoked
1631 with incorrect names in the list of sources to synchronize:
1632 previously it silently ignored unknown names
1634 * added stack dumping in case of premature abort;
1635 removed workaround for lost connection to Evolution Dataserver
1636 again because the workaround itself caused random segfaults inside
1640 SyncEvolution 0.7-pre1 -> 0.7-pre2, 08.11.2007
1641 ----------------------------------------------
1642 C++ client library: branch b_v65
1644 Updating user configuration: no relevant changes in this release. For those
1645 who haven't done so already, enabling large object support is recommended
1646 (see syncml/config.txt sample configs). It is required for myFUNAMBOL to
1647 synchronize very large address books and some users have reported segfaults
1648 unless this option was enabled.
1650 * iPhone bug fix: syncing contacts with photos was unreliable (export) and
1651 crashed (import) because the API had not been called correctly
1653 * iPhone + ScheduleWorld: when configured to use vcard3 (recommended!) then
1654 contacts are exchanged as vCard 3.0
1656 * iPhone + ScheduleWorld bugfix: importing vCard 3.0 did not correctly
1657 classify the phone numbers. A sync with the new "--sync refresh-from-server"
1658 option will fix this, assuming that the server has the correct data.
1660 * Evolution: detect a crashed backend and abort SyncEvolution instead of
1663 * adapted calendar event insert/update to Evolution 2.12: the UID needs to be
1664 restored, otherwise the Evolution backend crashes (GNOME issue #488881)
1666 * new feature: if the previous log directory is still available,
1667 then local changes made since last sync can be queried
1668 before starting a sync (new option --status) and will be
1669 printed directly before a sync. Setting the "logdir" option
1670 will automatically keep the most recent logs and database
1673 * added command line options:
1675 Temporarily synchronize the active sources in that mode. Useful
1676 for a 'refresh-from-server' or 'refresh-from-client' sync which
1677 clears all data at one end and copies all items from the other.
1680 The changes made to local data since the last synchronization are
1681 shown without starting a new one. This can be used to see in advance
1682 whether the local data needs to be synchronized with the server.
1685 Suppresses most of the normal output during a synchronization. The
1686 log file still contains all the information.
1689 Prints usage information.
1692 Prints the SyncEvolution version.
1694 * default configurations now reference the normal Evolution databases
1695 ("Personal") thus requiring less changes to use. The account information
1696 is now clearly marked as placeholder which needs to be entered.
1699 SyncEvolution 0.6 -> 0.7-pre1, 17.10.2007
1700 -----------------------------------------
1701 * C++ client library: tag "sdkcpp_6_0_9_1" (same as before)
1702 * added support for Mac OS X/iPhone address book
1703 * fixed Nokia packaging problem which prevented installation
1704 via the package manager unless it was in "red pill" mode
1705 * improved output: less verbose ("extracting" items is now
1706 logged at debug level and thus not normally shown) and more
1707 informative printing of changes (table summarizes number of
1708 changes on client and server, heading for comparison changed
1709 to make it clear that it shows changes on the client)
1710 * example configs were in share/share directory (SF #1767329)
1711 * Nokia 770/800: uninstallable package fixed by setting category
1713 * sync with eGroupware - lost or messed up telephones: SyncEvolution
1714 incorrectly added TYPE=OTHER to phone numbers sent with e.g.
1715 CELL instead of TYPE=CELL (SF #1796086). Another patch was
1716 required for eGroupware itself to correctly map phone numbers
1717 as sent by SyncEvolution, see Compatibility web page.
1718 * SyncCap is not generated unless syncModes are configured: added
1719 a comment to example config (SF #1764123)
1720 * improved error handling: catch errors during post-processing and
1724 SyncEvolution 0.5 -> 0.6, 13.07.2007
1725 ------------------------------------
1726 * C++ client library: tag "sdkcpp_6_0_9_1"
1727 * added support for synchronizing Evolution notes (aka memos) as
1728 plain text where the first line serves as summary; this is the
1729 format understood by ScheduleWorld
1730 * added support for synchronizing Evolution notes (aka memos) as
1731 iCal 2.0 journal; not currently supported by any server and
1733 * revamped example configs and documentation: only one set of
1734 config files for each server is provided, because this is more
1735 likely to be needed by users
1736 * example configs are now installed in share/doc/syncevolution,
1737 enabled message limit and large object support in them
1738 * added support for Nokia 770/800 (aka Maemo):
1739 built with loadable modules so that it works with whatever
1740 backends are installed, improved log handling to accomodate
1741 for limited space on filesystem (see below), some workarounds
1742 * added workaround for Nokia 770:
1743 contacts are not really deleted unless the EDS-Sync with
1744 instant messaging servers is activated; now SyncEvolution
1745 will delete contacts marked as deleted by the GUI before
1746 a sync if it finds any.
1747 WARNING: if you use EDS-Sync and SyncEvolution, then give
1748 EDS-Sync enough time after going online to finish its own
1749 synchronization of modified/deleted contacts before starting
1751 * improved log handling: writing log and database dumps can be
1752 disabled with "logdir=none", verbosity of log is controlled by
1753 "loglevel", better handling of errors during initial database
1755 * added workaround for Evolution bug #455274:
1756 the separator for multiple categories in events and tasks
1757 is not generated and interpreted according to iCalendar 2.0
1758 by Evolution; as a consequence of that items sent to the server
1759 had all categories merged into one and items imported into
1760 Evolution only used one of the catories
1761 http://bugzilla.gnome.org/show_bug.cgi?id=455274
1762 * fixed off-by-one counting of months in backup directory names
1763 * fixed error handling: a failed source was not forced into a slow
1764 sync as required; one failed source prevented saving configs of
1765 not-failed ones and thus forced those into an unnecessary slow
1767 * uses the Funambol C++ testing framework (which is based on the
1768 previous SyncEvolution testing); now creates its configs
1769 and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
1770 also the Evolution databases automatically
1771 * implemented synccompare as pure Perl script using Algorithm::Diff
1772 instead of external diff tool
1773 * synccompare did not figure out width of shell window as it should have
1774 * better error handling if creating the before/after database dumps
1776 * workaround for Funambol 3.0 trailing = parser bug
1780 Old config files from 0.5 or older continue to work, but it is recommended
1781 to set the following options to enable message size limits:
1787 SyncEvolution 0.6pre2 -> 0.6, 13.07.2007
1788 ----------------------------------------
1789 * improved README/HACKING documents
1790 * fixed the new example configs: use event/task for Funambol 6.0,
1792 * added workaround for Evolution bug #455274:
1793 the separator for multiple categories in events and tasks
1794 is not generated and interpreted according to iCalendar 2.0
1795 by Evolution; as a consequence of that items sent to the server
1796 had all categories merged into one and items imported into
1797 Evolution only used one of the catories
1798 http://bugzilla.gnome.org/show_bug.cgi?id=455274
1799 * added workaround for Nokia 770:
1800 contacts are not really deleted unless the EDS-Sync with
1801 instant messaging servers is activated; now SyncEvolution
1802 will delete contacts marked as deleted by the GUI before
1803 a sync if it finds any.
1804 WARNING: if you use EDS-Sync and SyncEvolution, then give
1805 EDS-Sync enough time after going online to finish its own
1806 synchronization of modified/deleted contacts before starting
1810 SyncEvolution 0.6pre1 -> 0.6pre2, 23.04.2006
1811 --------------------------------------------
1812 * C++ client library: tag "sdkcpp_6_0_7" + revision 1.7 of
1813 build/autotools/test/Makefile.am
1814 * added support for synchronizing Evolution notes (aka memos) as
1815 plain text where the first line serves as summary; this is the
1816 format understood by ScheduleWorld, not the iCal 2.0 format
1818 * improved log handling: writing log and database dumps can be
1819 disabled with "logdir=none", verbosity of log is controled by
1820 "loglevel", better handling of errors during initial database
1822 * fixed off-by-one counting of months in backup directory names
1823 * fixed error handling: a failed source was not forced into a slow
1824 sync as required; one failed source prevented saving configs of
1825 not-failed ones and thus forced those into an unnecessary slow
1827 * revamped example configs: only one set of config files for each
1828 server is provided, because this is more likely to be needed
1830 * uses the Funambol C++ testing framework (which is based on the
1831 previous SyncEvolution testing); now creates its configs
1832 and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
1833 also the Evolution databases automatically
1836 SyncEvolution 0.5 -> 0.6pre1, 26.03.2006
1837 ----------------------------------------
1838 * C++ client library: CVS snapshot from 26.03.2006
1839 * added support for synchronizing Evolution notes (aka memos) as
1841 * added --enable-static-cxa = linking C++ runtime statically:
1842 binaries produced for 0.6 will have less external
1843 dependencies than the 0.5 binaries
1844 * added hacks for Maemo/Nokia 770, including a build
1845 mode with dynamically loadable modules (--enable-shared, --enable-maemo,
1846 --with-patched-dbus)
1847 * implemented synccompare as pure Perl script using Algorithm::Diff
1848 instead of external diff tool
1849 * synccompare did not figure out width of shell window as it should have
1850 * better error handling if creating the before/after database dumps
1852 * example configs are now installed in share/doc/syncevolution,
1853 enabled message limit and large object support in them
1854 * workaround for Funambol 3.0 trailing = parser bug
1858 Old config files continue to work, but it is recommended
1859 to set the following options to enable message size limits:
1866 SyncEvolution 0.4 -> 0.5, 12.11.2006
1867 ------------------------------------
1868 * C++ client library revision "syncevolution-0-5":
1869 - added support for sending changes in smaller chunks
1870 ("Large Object Support"): disabled by default, see updated
1871 example configuration
1872 - time is printed with GMT offset so that a server admin in
1873 a different timezone can always figure out how a client log
1874 relates to events on the server
1875 - special item keys as they might be stored in some calendars after
1876 importing non-Evolution events are now properly supported
1877 * bug fix: in 0.4 it was necessary to manually configure the verDTD
1878 or the Funambol 3.0a server would choke on the invalid SyncML during
1879 the second synchronization with SyncEvolution; now this option is set
1881 * added support and testing of transmitting just the changes
1882 from client to server or vice versa; see "one-way-from-server/client"
1883 in example configuration
1884 * fixed/updated comments in the example configuration
1885 * improved automated testing and fixed the problem that CPPUnit was not
1886 found unless it was part of the system
1887 * Now works on Maemo/Nokia 770: minor changes were necessary so that
1888 the system address book can now be selected under the name "<<system>>.
1889 Copying 300 contacts into the Nokia 770 went fine, but any further
1890 attempt to synchronize suffered from timeouts inside the embedded
1891 Evolution Data Server.
1894 SyncEvolution 0.3 -> 0.4, 11.09.2006
1895 ------------------------------------
1896 * C++ client library revision "syncevolution-0-4":
1897 - added support for device information, required by some servers
1898 - fixed incompatibilities with non-Funambol servers
1899 - the user agent string can now be modified in the
1900 spds/syncml/config.txt, but it is recommended to not set
1901 it explicitly. Then SyncEvolution will automatically insert
1902 its current version.
1903 - #305795: for tasks the "text/x-todo" type from the configuration
1904 was sent to servers instead of the correct "text/calendar"
1905 provided by SyncEvolution itself
1906 - sync modes "refresh-client/server" can now be specified as
1907 "refresh-from-client/server" in the config
1908 * updated default syncml/config.txt:
1909 - firstTimeSyncMode has never been implemented in the library,
1910 removed its documentation,
1911 - added documentation for userAgent
1912 - use "refresh-from-client/server"
1913 * SF issue 1511951: support copying changes back from EGroupware
1914 server by not expecting the UID of calendar items to be unmodified
1915 * fixed a bug where after a refresh-from-client sync changes would
1916 be sent to the server again during a two-way sync although the
1917 server already had them
1918 * implemented authentication for Evolution databases
1919 * synccompare was removing too many parts of vCards with
1920 single-value ORG properties
1921 * improved error reporting when selected server is not configured
1922 * changed vCard parser to make it compatible with servers
1923 which send a verbatim semicolon as part of properties where
1924 the semicolon has no special meaning
1925 * If minor errors occur like not being able to insert an
1926 item at the client or server side, then it is reported in the
1927 log and output, but the next synchronization will be a normal
1928 synchronization, not a forced slow one as in previous versions.
1929 The old approach ensured that the problem was noticed and fixed,
1930 but required user assistance. With the new approach synchronization
1931 continues to work, although without fixing the root cause of
1933 * Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
1934 for calendars and task lists not all deleted items were reported
1935 at once thus a single synchronization would only tell the server
1936 about a subset of the changes. Repeating the synchronization would
1937 eventually be told of all changes, so now this repetition is built
1938 into the code which queries for changes and a single synchronization
1939 is sufficient as it should be.
1942 SyncEvolution 0.4 pre2 -> 0.4, 11.09.2006
1943 -----------------------------------------
1944 * adapted to C++ client library from CVS head, tagged as syncevolution-0-4:
1945 devinfo.patch patch was merged with several changes to the API
1946 * SF issue 1511951: support copying changes back from EGroupware
1947 server by not expecting the UID of calendar items to be unmodified
1950 SyncEvolution 0.4 pre1 -> pre2, 21.08.2006
1951 ------------------------------------------
1952 * C++ client library revision "syncevolution-0-4-pre2":
1953 most patches were merged into CVS head, but .patches/devinfo.patch
1954 still needs to be applied manually when checking out from the
1955 Funambol CVS instead of using the bundled version
1956 * fixed a bug where after a refresh-from-client sync changes would
1957 be sent to the server again during a two-way sync although the
1958 server already had them
1959 * implemented authentication for Evolution databases
1960 * synccompare was removing too many parts of vCards with
1961 single-value ORG properties
1962 * improved error reporting when selected server is not configured
1963 * use 7-bit quoted-printable encoding with explicit UTF-8 charset for
1964 vCard 2.1 to avoid any potential confusion about the content; not
1965 really necessary because SyncML specifies 8-bit UTF-8 as the default
1966 * fix for 0.4 pre 1: sending CHARSET is not allowed (and not
1967 needed) for vCard 3.0, so it was removed again (did not harm
1969 * fix for 0.4 pre 1: sending vCard 2.1 to Synthesis server did
1970 not work because the new device info always mentioned 3.0 as
1971 the preferred format - now the preferred format matches the one
1972 that was configured and that thus will be used.
1975 SyncEvolution 0.3 -> 0.4 pre 1, 2006-08-06
1976 ------------------------------------------
1977 * C++ client library revision "funambol30ga" plus the patches
1978 stored in its ".patches" directory:
1979 - the user agent string can now be modified in the
1980 spds/syncml/config.txt, but it is recommended to not set
1981 it explicitly. Then SyncEvolution will automatically insert
1982 its current version.
1983 - now compatible with additional servers (fixed some SyncML
1984 protocol issues, added support for sending device
1986 - revised API of the client library
1987 - #305795: for tasks the "text/x-todo" type from the configuration
1988 was sent to servers instead of the correct "text/calendar"
1989 provided by SyncEvolution itself
1990 - sync modes "refresh-client/server" can now be specified as
1991 "refresh-from-client/server" in the config
1992 * updated default syncml/config.txt:
1993 - firstTimeSyncMode has never been implemented in the library,
1994 removed its documentation,
1995 - added documentation for userAgent
1996 - use "refresh-from-client/server"
1997 * changed vCard parser to make it compatible with servers
1998 which send a verbatim semicolon as part of properties where
1999 the semicolon has no special meaning
2000 * If minor errors occur like not being able to insert an
2001 item at the client or server side, then it is reported in the
2002 log and output, but the next synchronization will be a normal
2003 synchronization, not a forced slow one as in previous versions.
2004 The old approach ensured that the problem was noticed and fixed,
2005 but required user assistance. With the new approach synchronization
2006 continues to work, although without fixing the root cause of
2008 * Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
2009 for calendars and task lists not all deleted items were reported
2010 at once thus a single synchronization would only tell the server
2011 about a subset of the changes. Repeating the synchronization would
2012 eventually be told of all changes, so now this repetition is built
2013 into the code which queries for changes and a single synchronization
2014 is sufficient as it should be.
2015 * Made it compile on Maemo 2.0, the Nokia 770 build environment, by
2016 adding "--disable-ecal". Not tested yet, though.
2019 SyncEvolution 0.3, 2006-06-27
2020 -----------------------------
2022 * added syncing of calendars and tasks as iCalendar 2.0
2023 * added syncing of contacts as vCard 3.0
2024 * tested extensively with sync.scheduleworld.com and
2025 added an example configuration for it
2026 * uses C++ client library revision "wmplugin_3_0_20"
2027 which contains several bug fixes, among them proper
2028 support for special characters and memory handling
2030 * much nicer listing of changes made during a sync,
2031 handled by the improved "synccompare" utility script
2032 (formerly known as "normalize_vcard")
2033 * improved automated testing
2036 SyncEvolution 0.2, 2006-03-19
2037 -----------------------------
2039 * added automatic backup mechanism and log storage,
2040 see "Automatic Backups and Logging".
2041 * output no longer is the original log data, but rather
2042 a human-readable report of errors and synchronization
2044 * "normalize_vcard" can now also compare two .vcf files
2046 * improved unit tests to catch more errors
2047 * hide certain differences in vcards coming back from
2048 the server: duplication of extended vcard properties,
2050 * fixed client library problems:
2051 see http://forge.objectweb.org/tracker/?group_id=96&atid=100096
2053 * added some more problems to the "Known Problems" section
2056 SyncEvolution 0.1, 2006-03-13
2057 -----------------------------