Imported Upstream version 1.1~20101101~SE~8e5f8df~SYSYNC~2a247a4
[platform/upstream/syncevolution.git] / NEWS
diff --git a/NEWS b/NEWS
index 401473b..1356778 100644 (file)
--- a/NEWS
+++ b/NEWS
-SyncEvolution 0.8.1 -> 0.9 beta 1, 13.05.2008
+SyncEvolution 1.0.1 -> 1.1, 26.10.2010
+======================================
+
+An incremental update, resolving issues where the fixes would have
+been too intrusive for a 1.0.x release. In particular compatibility
+with Nokia phones was improved. Some new features were also included
+(command line options for manipulating items, backends for MeeGo PIM
+storages).
+
+Details:
+
+* bug fix in sync-ui: wrong direction of one-way data transfers with devices (BMC #7091)
+* bug fix in syncevo-dbus-server: incorrect Presence status after config change (BMC #8453)
+  Shows up in sync-ui as "'Sync Now' button active after creating a config while offline".
+* sync-ui (GTK version): app is now listed as "SyncEvolution (GTK)" under "Office"
+* Nokia phones: avoid data loss in two-way sync due to X-EVOLUTION-UI-SLOT (BMC #2566)
+* Nokia phones: alarm times in UTC, sending PHOTO (BMC #1657, #5860)
+* included all phone templates submitted to syncevolution.org Wiki (BMC #5727)
+* syncevo-phone-config: set consumerReady in output, more useful for Wiki (BMC #3803)
+* workaround for D-Bus timeouts in EDS libecal/libebook (BMC #4026)
+* added generic command line options for importing, exporting, updating, listing
+  and deleting items in the different backends (http://syncevolution.org/blogs/pohly/2010/manipulate-evolution-kcalextendedmkcal-qtcontacts-pim-items-uniform-command-line)
+* added backends for mKCal and QtContacts (MeeGo PIM storage),
+  meant to be used for manipulating this data on the command line
+* enhanced D-Bus interface (BMC #3558, #3559, #3560, #3562, #3563, #7761, #7766)
+* the command line tool now warns when running against a different D-Bus daemon (BMC #3563)
+* creating and configuring sources in a context (without peer-specific
+  properties) is now supported
+* improved documentation: README.rst, man page, and --help output
+* fixed some compile issues (BMC #6367), improved nightly testing
+
+
+SyncEvolution 1.0 -> 1.0.1, 16.07.2010
+======================================
+
+A bug fix release. The main reason for releasing it is that
+SyncEvolution 1.0 no longer worked on recent distros (Fedora Core 13,
+Debian testing) because of a name clash between the Bluez D-Bus
+utility code and recent glib.
+
+Details:
+
+* compile fix for FC 13 (and possibly others): use private copy of gdbus (BMC #3556)
+
+* sync-ui: prevent overwriting device configs by accident (BMC #3566,1194)
+  Setting up a phone used the template name as config name and overwrote
+  an existing configuration of another phone that was created using that
+  same template. Now the code uses the Bluetooth device name as set on the
+  device and checks for (less likely) collisions. It also sanitizes the
+  name to avoid complicated config names (only relevant when also using
+  the command line).
+
+* syncevo-dbus-server: accept 'application/vnd.syncml+xml; charset=UTF-8' for starting an HTTP session (BMC #3554) 
+  The redundant charset specification was set by the Funambol
+  Thunderbird client. Because of a literal comparison against
+  'application/vnd.syncml+xml' the messages were rejected.
+
+* config fix: operations on non-peer configs failed (BMC #3157)
+  When running operations on a non-peer configuration (like --restore @default
+  addressbook), the operation fails with
+  [ERROR] <source name>: type 'select backend' not supported
+
+* ZYB.com: service goes away end of June 2010, template removed (BMC #3310)
+* some build (BMC #2586, BMC #3557) and language updates
+
+
+SyncEvolution 0.9.2 -> 1.0, 11.06.2010
+======================================
+
+Major new features compared to previous stable release:
+* synchronize directly with a phone over Bluetooth/OBEX
+* accept Bluetooth/OBEX connections in cooperation with obexd >= 0.19
+* run SyncEvolution as a rudimentary HTTP SyncML server
+
+The GTK sync-UI can be used to select a paired phone and create a
+configuration for it based on the bundled configuration templates.
+Configuration templates are included for Nokia phones; for other
+phones see the http://syncevolution.org/development/sync-phone HOWTO
+and check out the Wiki there. Some users have already reported success
+for Sony Ericsson phones and added setup instructions. New templates
+from the Wiki can be dropped into ~/.config/syncevolution-templates
+under an arbitrary file name.
+
+Unexpected slow syncs can be detected when running as client (MB
+#2416) and unless turned off (see "preventSlowSync"), SyncEvolution
+aborts the session so that the situation can be analyzed. A refresh
+from client or server might be more suitable. The command line tool
+provides instructions at the end of its output. The GTK sync-UI
+points towards its recovery dialog.
+
+Automatic synchronization is supported by the syncevo-dbus-server (MB
+#6378). When that is installed, it will be started as part of a user
+session and keep running to trigger syncs in the
+background. Notifications are emitted when syncs start, end or fail
+(MB #10000).
+
+Automatic synchronization can be enabled separately for each peer
+("autoSync=0/1", off by default), will be done at regular intervals
+("autoSyncInterval=30" minutes) when online long enough
+("autoSyncDelay=5" minutes). That last option ensures that a) an
+automatic sync does not attempt to use a network connection unless it
+was already active and b) hopefully is also around long enough to
+complete the sync.
+
+The Synthesis XML configuration was split up into different parts
+which are assembled from /usr/share/syncevolution/xml. Files in
+~/.config/syncevolution-xml override and extend the default files,
+which my be useful when adding support for a new phone.
+
+SyncML servers:
+* ZYB.com now works thanks to a workaround for anchor handling (MB #2424);
+  only contacts tested because everything else is considered legacy by ZYB.com
+* Horde: avoid confusing the server with a deviceId that starts like the
+  ones used in old Funambol clients, helps with calendar sync (MB #9347)
+* Mobical.net (and other, similar services): fix vCalendar 1.0 alarm
+  properties before importing them (MB #10458)
+* desknow.com works when switching to SyncMLVersion = 1.1
+* Funambol, Memotoo (and probably others): preserve meeting series when
+  receiving update for detached recurrence (BMC #1916)
+
+Evolution:
+* addressbook backend: avoid picking CouchDB, second try (MB #7877)
+* calendar backend: minor fix for change tracking when deleting
+  a single instance of a recurring event
+* workaround for Evolution 2.30: "timezone cannot be retrieved because it
+  doesn't exist" is triggered incorrectly when importing non-standard
+  timezone definitions because libecal changed an error code (MB #9820)
+
+Performance and reliability improvements (MB #7708):
+* synccompare much faster
+* database dumps consume less disk space
+* more intelligent about expiring obsolete session directories
+  and backups
+* database accesses are reduced in several backends
+* shorter logs (MB #8092)
+* message resending helps under unreliable network connectivity ("RetryInterval")
+* full support for suspend&resume in SyncEvolution client to SyncEvolution or
+  Synthesis server syncs
+* better handling of certain third-party time zone definitions (BMC #1332)
+
+Improved GTK sync-UI:
+* revised config screen: all in one list where entries can be expanded,
+  integrated setup of sync with other devices
+* recovery support: restore from backup, unexpected slow sync handling
+* spinner while network is in use (MB #2229)
+* interactive password requests (MB #6376)
+* uses new D-Bus API
+
+Command line:
+* fixed printing of rejected items (MB #7755)
+* consistent logging of added/updated/deleted items with short
+  description
+* improved error reporting (textual descriptions instead of plain
+  error codes MB #2069, partial success MB #7755, record and show
+  first ERROR encountered MB #7708)
+* can create new sources (MB #8424)
+* runs operations inside daemon and thus avoids conflicts with
+  operations done by other clients; for testing purposes (like
+  running a client which talks to a local server in the daemon) it is
+  still possible to ignore the daemon (--daemon=no, MB #5043)
+* revised README, now also available as man page (BMC #690)
+
+Redesigned and reimplemented D-Bus API, used by sync-UI and command line:
+* central syncevo-dbus-server controls configurations and sync sessions:
+  http://syncevolution.org/development/direct-synchronization-aka-syncml-server
+* accepts incoming SyncML connection requests and messages received by
+  independent transport stubs (obexd, HTTP server, ...)
+* can be used by multiple user interfaces at once
+* fully documented, see src/dbus/interfaces and http://api.syncevolution.org
+* no longer depends on dbus-glib with hand-written glue code for C++,
+  instead uses gdbus plus automatic C++ binding generated via C++ templates
+
+Revised configuration layout (MB #8048, design document at
+http://syncevolution.org/development/configuration-handling):
+* several peer-independent sync and source properties are shared
+  between multiple peers
+* they can be accessed without selecting a specific peer, by using an
+  empty config name or with the new "@<specific context>" syntax
+* user interface of command line unchanged
+* old configurations can be read and written, without causing
+  unwanted slow syncs when moving between stable and unstable
+  SyncEvolution versions
+* old configurations can be migrated with the "--migrate" command
+  line switch; however, then older SyncEvolution can no longer
+  access them and migrating more than one old configuration causes
+  the second or later configuration to loose its "deviceId" property
+  (which is shared now), causing a slow sync once
+* config names may contain characters that are not allowed in the
+  file names used for the underlying files; will be replaced with
+  underscores automatically (MB #8350)
+
+
+Upgrading from 0.9.x:
+
+* Upgrading and downgrading should work seamlessly when using existing
+  configurations.
+
+* The new configuration layout is only used when creating new
+  configurations or explicitly invoking "syncevolution --migrate" (see
+  above). Such configs cannot be used by older SyncEvolution releases.
+
+* The new "RetryInterval" property causes messages to be resent
+  after 2 minutes (increased from 1 minute in previous 1.0 betas).
+  At least the Funambol server is known to not handle this correctly
+  in all cases (http://funzilla.funambol.com/show_bug.cgi?id=7910).
+  So in the Funambol config template the interval is set to zero,
+  disabling the feature. Disabling the feature must be done manually
+  in existing Funambol configurations.
+
+
+SyncEvolution 1.0 beta 3 -> 1.0 final, 11.06.2010
+=================================================
+
+Bug fixes and new features:
+
+* Configuration templates are stored in a single file (BMC #1208).
+  New templates (like something downloaded from http://syncevolution.org/wiki)
+  can be dropped into $HOME/.config/syncevolution-templates using an arbitrary
+  file name.
+* Progress and per-source status are now also reported and recorded when
+  running in server mode (BMC #1359). There are still several limitations
+  (sync mode not reported, no information about sent/received/processed items
+  while the sync runs, see BMC #2786).
+* Better handling of certain third-party time zone definitions (BMC #1332).
+  Better logging to track down such problems.
+* D-Bus server + command line: return error code when failed (BMC #2193)
+* syncevo-phone-config: simplified command line options, several bug fixes
+  (syntax error, incorrect handling of calendar+todo, BMC #1197)
+* Revised README, now also available as man page (BMC #690). Conversion of D-Bus API
+  documentation into .html page (BMC #1745).
+* Funambol, Memotoo (and probably others): preserve meeting series when
+  receiving update for detached recurrence (BMC #1916)
+* Fix for potential out-of-bounds memory access (BMC #1007).
+* HTTP server: fix for potential crash when second session was requested while an
+  older one was still running, initial sync was done without libical time zone
+  information and thus may have mismatched times (BMC #2435)
+* Nokia E55: convert alarm times (BMC #1657). This is done via a new remote rule
+  in /usr/share/syncevolution/xml/remoterules/server/46_E55.xml
+  If another phone needs the same treatment, then copy that file to
+  ~/.config/syncevolution-xml/remoterules/server and edit the <model> element.
+* GTK GUI: styling fix (BMC #1372), updated toolbar for MeeGo 1.0 (BMC #1970),
+  avoid duplicating configs when selecting a config created by syncevo-phone-config 
+  or the command line (BMC #1266), scroll bars for emergency window (BMC #1296),
+  avoid compile problem on Fedora Core 13 due to name collision with system sync()
+  call, updated translations.
+
+
+SyncEvolution 1.0 beta 2 -> beta 3, 20.04.2010
+==============================================
+
+One more step towards the long awaited 1.0. 0.1 was released over four
+years ago and the 1.0 cycle started some time last summer. Beta 3 is
+considered feature complete at this point.
+
+Automatic synchronization is supported by the syncevo-dbus-server (MB
+#6378). When that is installed, it will be started as part of a user
+session and keep running to trigger syncs in the
+background. Notifications are emitted when syncs start, end or fail
+(MB #10000).
+
+Automatic synchronization can be enabled separately for each peer
+("autoSync=0/1", off by default), will be done at regular intervals
+("autoSyncInterval=30" minutes) when online long enough
+("autoSyncDelay=5" minutes). That last option ensures that a) an
+automatic sync does not attempt to use a network connection unless it
+was already active and b) hopefully is also around long enough to
+complete the sync.
+
+Detecting online status depends on ConnMan. Without it, SyncEvolution
+assumes that the network is available. For Bluetooth it is enough to
+have a peer paired.
+
+When SyncEvolution is compiled with a backend sync daemon
+("syncevo-dbus-server"), then conceptually that daemon controls the
+configuration and coordinates manually and automatically started sync
+sessions. Previously, the command line tool bypassed the daemon by
+running operations itself. Now it can hand over the command line
+parameters to the daemon to be executed there ("--daemon=yes", the
+default if the daemon is available; MB #5043). Command line parameters
+and output of "syncevolution" are the same as before. Note that the
+daemon only runs one operation at a time, which delays the command
+line client when the daemon is busy. For testing purposes (like
+running a client which talks to a local server in the daemon) it is
+still possible to ignore the daemon (--daemon=no).
+
+Thanks to fixes and improvements in both Synthesis engine and
+SyncEvolution, suspend and resume are fully supported in client and
+server (MB #2425). Previously it failed in some cases, as mercilessly
+exposed by our automated testing. Now all of these tests pass. The
+HTTP server now also handles message resends by clients correctly.
+
+Direct synchronization with older phones (like Sony Ericsson K750i)
+can be started now by switching to an older version of the SyncML
+standard ("SyncMLVersion" property, MB #9312). No further
+interoperability testing with such phones has been done at this
+time. When acting as client, that same property allows talking to
+older SyncML servers, like desknow.com.
+
+A minor workaround and the right configuration make it possible to
+synchronize with Nokia N85 and probably also other S60
+devices. Added a template for "Nokia S60". Also made the template
+for "Nokia N900" accessible in the GTK GUI.
+
+Because determining which configuration works for a phone involves
+a lot of trial-and-error, the new "syncevo-phone-config" script
+automates that process.
+
+Other changes:
+
+* Mobical.net (and other, similar services): fix vCalendar 1.0 alarm
+  specifications before importing them (MB #10458)
+* Nokia N900: added a config template for it and disabled the redundant
+  RespURI when using Bluetooth. Preliminary testing shows that this solves
+  some of the issues seen before (MB #10224).
+* workaround for Evolution 2.30: "timezone cannot be retrieved because it
+  doesn't exist" is triggered incorrectly when importing non-standard
+  timezone definitions because libecal change an error code (MB #9820)
+* "syncevo-http-server" HTTP server script is included in normal install
+* syncevolution.org binaries: finally solved the libbluetooth3
+  incompatibility (MB #9289). Binaries of beta 2 crashed on more
+  recent distros because of that.
+* SyncML client and Bluetooth: a mobile device running SyncEvolution
+  creates a configuration automatically (MB #6175). The peer contacting
+  us has to use the standard SyncEvolution URIs (addressbook, calendar,
+  todo, memo).
+* command line: when dealing with the shared non-peer part of a config,
+  it checks for properties which are unsuitable only prints
+  those (MB #8048)
+* GTK GUI: improved setup of devices, automatic sync switch,
+  some fixes for crashes and other tweaks
+* Nokia 7210c: send time as UTC instead of relying on time zone
+  information (MB #9907).
+* command line: setting up a configuration for a "SyncEvolution"
+  server on a client was not possible because the "SyncEvolutionClient"
+  configuration was picked instead (MB #10004). The latter has to
+  be used when configuring a SyncEvolution server to talk to a
+  SyncEvolution client.
+* restore: no longer updates the time of the backup (MB #9963)
+* various minor improvements and fixes, see ChangeLog
+
+Upgrading:
+* The new "RetryInterval" property causes messages to be resent
+  after 2 minutes (increased from 1 minute in previous 1.0 betas).
+  At least the Funambol server is known to not handle this correctly
+  in all cases (http://funzilla.funambol.com/show_bug.cgi?id=7910).
+  So in the Funambol config template the interval is set to zero,
+  disabling the feature. Enabling or disabling the feature must
+  be done manually in existing configurations.
+
+SyncEvolution 1.0 beta 1 -> beta 2, 23.02.2010
+==============================================
+
+Several new features and some bug fixing. Despite some open issues
+(see below), this release is ready for getting packaged in staging
+areas of distros as replacement for 0.9.2.
+
+As before, documentation for 1.0 is only available in the
+"Development" section of syncevolution.org, including HOWTOs for
+setting up the HTTP SyncML server and phones manually.
+
+Setting up a phone became a bit easier with beta 2, because
+SyncEvolution is now integrated with the GNOME Bluetooth panel: once a
+device with SyncML client support is paired, a button offers to bring
+up the sync-UI and configure or synchronize with that device. We do a
+fuzzy match against the Bluetooth device name to find a suitable
+template (not manufacturer/model, because that is not readily
+available). Still not many (read: hardly any) templates available,
+though.
+
+The binaries on syncevolution.org are compiled with Bluetooth support.
+libbluetooth2 or libbluetooth3 should be installed, but are not
+essential. If there is no suitable version of it, the Bluetooth
+channel has to be selected manually as part of the syncURL.
+
+Unexpected slow syncs are prevented by default, in contrast to beta 1
+where this feature was available but turned off. When an unexpected
+slow sync is detected in a client, users have to follow the
+instructions provided by the command line or sync-ui and choose how to
+proceed (explicitly request slow sync, refresh from server or client,
+restore from backup). SyncEvolution as server currently cannot prevent
+slow syncs, even when initiating the sync with a phone.
+
+In preparation for syncing automatically, logdir and database handling
+was improved considerably. Backups use less disk space because
+identical files share the same file content via hard links. This also
+speeds up the synccompare Perl script. Database dumps and the
+corresponding comparison are delayed until the session really runs,
+which avoids doing needless work a) when the server a client tries to
+contact is unreachable or down and b) by only including sources that
+are really in use during a sync on the server side.
+
+The Synthesis XML configuration was split up into different parts
+which are assembled from /usr/share/syncevolution/xml. Files in
+~/.config/syncevolution-xml override and extend the default files,
+which my be useful when adding support for a new phone.
+
+Summary of changes since 1.0 beta 1:
+
+* sync-ui: recovery dialog (MB #8050), device setup, config usable with
+  long strings (MB #9278), fixed displaying of source phases during sync
+  (MB #9320)
+* sync-ui + syncevo-dbus-server: integration with Bluez to detect paired
+  devices (MB #9216, MB #7089), select template based on device name (MB #7838),
+  detect network and Bluetooth connectivity (only with ConnMan, MB #7700),
+  passwords stored in GNOME keyring by syncevo-dbus-server are shown with
+  dots in sync-ui (MB #9169)
+* Evolution addressbook backend: avoid picking CouchDB, second try (MB #7877)
+* Evolution calendar backend: minor fix for change tracking when deleting
+  a single instance of a recurring event
+* build fixes: Bluetooth compatibility (MB #9289), use libical _r variant
+  of calls because 0.43 has issues in the normal version, conflict with
+  system libsynthesis and libsmltk (MB #9811)
+* Horde: avoid confusing the server with a deviceId that starts like the
+  ones used in old Funambol clients, helps with calendar sync (MB #9347)
+* better reporting when SyncEvolution dies during a sync (only happend once
+  when it wasn't installed properly, but still... MB #9844)
+* performance improvements: synccompare much faster/database dumps consume
+  less disk space/more intelligent about expiring obsolete session directories
+  and backups/database accesses are reduced in several backends (MB #7708),
+  shorter logs (MB #8092)
+* slow sync detection: now also works in the case where the client detects
+  an anchor mismatch and enabled by default (MB #2416)
+* OBEX transport: some error handling changes and removal of polling, now
+  also possible via sync-ui + syncevo-dbus-server (MB #9436)
+* API changes: SyncSource introduces an "isEmpty" operation which is
+  needed for the slow sync detection
+* SyncML: split up configuration (MB #7712), increased default message size
+  because the old one might have been too small for large DevInf structures
+* several fixes for virtual data sources ("calendar+todo"): now works
+  on client side, fixed naming on server (MB #9664), fixed error message
+  for slow sync detection, supported in combination with sync-UI (MB #9535)
+* fixes for shared configuration layout: finding sessions of peers in
+  non-default context, adding sources affected peers in the same context
+  (MB #9329), wrong context during --configure when using shortcut for peers
+  in non-default context (MB #9338)
+
+
+Known gaps for 1.0 final and beyond:
+
+Redesigned and reimplemented D-Bus API, required by sync-UI:
+- 'syncevolution' command line tool bypasses D-Bus server and runs
+  sync sessions itself (MB #5043)
+- availability of peers not detected when using NetworkManager
+  (connected for HTTP, paired for Bluetooth; MB #7700)
+
+SyncML server in general:
+- suspend/resume support is untested (MB #2425)
+- the progress events and statistics reported for a SyncML client
+  are not generated when running as SyncML server, will require
+  a fair amount of refactoring in the Synthesis engine (MB #7709)
+
+HTTP SyncML server:
+- a configuration must be created for each peer manually, including
+  a remoteDeviceId value that contains the peer's SyncML device ID
+  (MB #7838)
+
+OBEX SyncML server ("sync with phones"):
+- does not support phones which require a SAN 1.0 message (MB #9312)
+- determining a working configuration for an unknown phone requires
+  a bit of experimenting, which should be automated (MB #9862)
+
+OBEX SyncML client:
+- parsing of SAN message is rudimentary and depends on an existing local
+  configuration, needs to be refined depending on which SyncML server software
+  it is meant to work with (MB #6175)
+
+Automatic sync (MB #6378):
+- no support for the various server push notification mechanisms
+- no intelligent detection of local changes
+- no regular background sync, development is in progress
+
+Upgrading from 1.0 beta 1: moving back and forth should work seamlessly
+Upgrading from 0.9.x: see under beta 1
+
+
+SyncEvolution 0.9.2 -> 1.0 beta 1, 26.01.2010
+==============================================
+
+Compared to the current stable release, 0.9.2, this beta release can also:
+* synchronize directly with a phone over Bluetooth/OBEX
+* accept Bluetooth/OBEX connections in cooperation with obexd 0.19
+* run SyncEvolution as a rudimentary HTTP SyncML server
+
+These feature were already available in a source-only 1.0 alpha
+release. For the beta, we fixed some issues (nothing major)
+and in addition to the source, also make binaries available. As
+before, we hope to get feedback on where we are going with 1.0 and its
+SyncML server and direct synchronization features. If you want to get
+involved, now is a good time because a) there is something which works
+and b) there is still time to influence the final 1.0, scheduled for
+March 2010.
+
+Documentation of the new features can be found in the "Development"
+section (http://syncevolution.org/development) for HOWTOs or ask on
+the mailing list (http://syncevolution.org/support).
+
+Here is a more complete list of features compared to the stable
+release. The full (and up-to-date) list can be retrieved from the
+Moblin Bugzilla (MB) issue tracking system with this query:
+http://bugzilla.moblin.org/showdependencytree.cgi?id=7892&hide_resolved=0
+For changes compared to the 1.0 alpha please consult the
+change log.
+
+Implemented features are marked with a plus +, open ones with a minus -.
+
+ZYB.com
++ now works thanks to a workaround for anchor handling (MB #2424)
+- only contacts tested because everything is considered legacy
+  by ZYB.com
+
+Slow sync handling (MB #2416)
++ Unexpected slow syncs can be detected when running as client and
+  if configured (see "preventSlowSync"), abort the session so that
+  the situation can be analyzed. A refresh from client or server
+  might be more suitable. Because this required manual intervention
+  by the user, the feature is off by default.
+- Catching slow syncs does not work yet when running as server and
+  in one corner case in a client.
+
+Improved sync-UI:
++ settings for HTTP servers are now done inside the list of
+  all configs and server templates instead of poping up a
+  separate window
++ uses the new D-Bus API
++ no longer uses private gconf key to select default peer,
+  replaced by "defaultPeer" in SyncEvolution config
++ added recovery features like handling of unexpected slow syncs (MB #2416)
+- restoring from backup only supported by command line (MB #8050)
+- spinner to indicate network activity missing (MB #2229)
+- interactive password request not implemented yet (MB #6376)
+
+Command line:
++ fixed printing of rejected items (MB #7755)
++ improved error reporting (textual descriptions instead of plain
+  error codes MB #2069, partial success MB #7755, record and show
+  first ERROR encountered MB #7708)
++ can create new sources (MB #8424)
+
+Redesigned and reimplemented D-Bus API, required by sync-UI:
++ central syncevo-dbus-server controls configurations and sync sessions:
+  http://syncevolution.org/development/direct-synchronization-aka-syncml-server
++ accepts incoming SyncML connection requests and messages received by
+  independent transport stubs (obexd, HTTP server, ...)
++ can be used by multiple user interfaces at once
++ fully documented, see src/dbus/interfaces
++ no longer depends on dbus-glib with hand-written glue code for C++,
+  instead uses gdbus plus automatic C++ binding generated via C++ templates
+- 'syncevolution' command line tool bypasses D-Bus server and runs
+  sync sessions itself (MB #5043)
+- availability of peers not detected (connected for HTTP, paired for
+  Bluetooth; MB #7700)
+- Bluetooth peers can only be configured via command line (MB #9216)
+
+Revised configuration layout (MB #8048, design document at
+http://syncevolution.org/development/configuration-handling):
++ several peer-independent sync and source properties are shared
+  between multiple peers
++ they can be accessed without selecting a specific peer, by using an
+  empty config name or with the new "@<specific context>" syntax
++ user interface in command line and D-Bus API unchanged
++ old configurations can be read and written, without causing
+  unwanted slow syncs when moving between stable and unstable
+  SyncEvolution versions
++ old configurations can be migrated with the "--migrate" command
+  line switch; however, then older SyncEvolution can no longer
+  access them and migrating more than one old configuration causes
+  the second or later configuration to loose its "deviceId" property
+  (which is shared now), causing a slow sync once
++ config names may contain characters that are not allowed in the
+  file names used for the underlying files; will be replaced with
+  underscores automatically (MB #8350)
+- users of the sync-ui will not know about the --migrate option,
+  so if they have only one configuration, it should be migrated
+  automatically
+
+SyncML server in general:
++ incoming connections are accepted by syncevo-dbus-server via
+  the D-Bus Connection API; because this is a "personal SyncML
+  server", all local data is meant to belong to a single user,
+  and only one sync session can be active at any point in time
++ different users on the same machine can run their own server,
+  as long as they ensure that listening for incoming connections
+  does not conflict with each other (different port in HTTP)
++ the session of an HTTP client which stops sending messages expires
+  after "RetryDuration" seconds instead of blocking the server
+  forever (MB #7710)
+- suspend/resume support is untested (MB #2425)
+- automatic backup of server databases is inefficient (done
+  even when client is not allowed to do a sync; always backs up
+  all data, including sources which are not active; MB #7708)
+- the progress events and statistics reported for a SyncML client
+  are not generated when running as SyncML server, will require
+  a fair amount of refactoring in the Synthesis engine (MB #7709)
+- the Synthesis server example config contains workarounds for
+  specific phones, but SyncEvolution does not currently use those;
+  adding new workarounds should be made very simple (MB #7712)
+
+HTTP SyncML server:
++ test/syncevo-http-server.py provides an experimental HTTP server
+  based on Python and Twisted
+- a configuration must be created for each peer manually, including
+  a remoteDeviceId value that contains the peer's SyncML device ID
+  (MB #7838)
+
+OBEX SyncML server ("sync with phones"):
++ peers are contacted via a builtin transport that uses libopenobex (MB #5188)
++ Server Alerted Notification (SAN) message triggers syncs; server ID
+  and URI are configurable (MB #7871)
+- a configuration must be created for each peer manually, including
+  a syncURL that contains the peer's MAC address (MB #7838)
+- should be integrated into the system's Bluetooth pairing (MB #7089)
+
+OBEX SyncML client:
++ obexd 0.19 contains a plugin which passes SyncML messages to syncevo-dbus-server
+- parsing of SAN message is rudimentary and depends on an existing local
+  configuration, needs to be refined depending on which SyncML server software
+  it is meant to work with (MB #6175)
+
+Automatic sync (MB #6378):
+- no support for the various server push notification mechanisms
+- no intelligent detection of local changes
+- no regular background sync
+- depends on safe handling of concurrent editing, which is blocked
+  by merging of a new Evolution Data Server API (MB #3479)
+
+Upgrading from 0.9.x:
+
+* Upgrading and downgrading should work seamlessly when using existing
+  configurations. But this being an alpha, better ensure that you have
+  backups of both your data and your configurations in
+  ~/.config/syncevolution.
+
+* The new configuration layout is only used when creating new
+  configurations or explicitly invoking "syncevolution --migrate" (see
+  above). Such configs cannot be used by older SyncEvolution releases.
+
+
+SyncEvolution 0.9.1 -> 0.9.2, 23.01.2010
+========================================
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+New Maemo 5/Nokia N900 calendar backend and packages, brought to you
+by Ove Kaaven. These packages are available via the Maemo extras-devel
+repository. Bug reports can be submitted both in http://bugs.maemo.org
+and http://bugzilla.moblin.org. The latter is the tracker that is
+monitored by the SyncEvolution team, which will also incorporate
+patches. In general, Ove is the main maintainer of the new backend.
+
+New XMLRPC backend, contributed by Franz Knipp/M-otion. It accesses
+data inside a web service via a SOUP API and thus allows synchronizing
+it via SyncML. See src/backends/xmlrpc/README for more information.
+
+Added templates for Oracle Beehive and Goosync. Both are not currently
+part of the regular testing.
+
+In addition to that, 0.9.2 is an incremental update, with several
+updated translations and addressing all of the issues reported by
+users for 0.9.1:
+
+- vCard dialects: added "X-GENDER/X-SIP" (used by Maemo) and X-SKYPE
+  (used by Maemo and recent Evolution, MB #8948)
+
+- Evolution Address Book: avoid picking CouchDB by default (MB #7877, evolution-couchdb #479110)
+
+  CouchDB address books are appended at the end of the local database
+  list, otherwise preserving the order of address books. The initial
+  release of evolution-couchdb in Ubuntu 9.10 is unusable because it
+  does not support the REV property.
+
+  Reordering the entries ensures that the CouchDB address book is not
+  used as the default database by SyncEvolution, as it happened in
+  Ubuntu 9.10.  Users can still pick it intentionally via
+  "evolutionsource".
+
+- installation: templates now in $(datadir)/syncevolution/templates (MB #7808)
+  This are files used internally, meant to be extended by distributors.
+  Storing them in /etc is no longer supported, but also unlikely to be
+  needed. Added warnings that these files cannot simply be copied into
+  .config because they are not complete configurations.
+
+- installation: "make install" populates $(docdir) (MB #7168)
+  Previously README, COPYING, NEWS, and server READMEs were copied
+  into syncevolution.org .tar.gz/.deb/.rpm archives as part of
+  custom make rules and thus missing in other installations.
+
+- building: --with-boost had no effect (MB#7856), detect incorrect
+  use of --with-synthesis-src, workaround for lack of --with-docdir
+  in older autoconf, do not unnecessarily depend on CPPUnit header
+  files and GNOME/EDS libs (MB#8338), workaround for libtool bug
+  ("cannot install `syncecal.la' to a directory not ending in ..."),
+
+- clarified documentation of properties for file backend (MB#8146)
+  
+- stderr redirection: detect "error" messages and show them (MB#7655)
+  The "GConf Error: Failed to contact configuration server..." error
+  message was suppressed by the code which catches noise from libraries
+  invoked by SyncEvolution. Now it is printed as ERROR, making it
+  easier to detect why running SyncEvolution inside cron needs
+  additional changes:
+  http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/
+
+- importing contacts from SyncML server without full name (MB#5664):
+  Evolution expects the name to be set and shows an empty string if
+  it is missing. Now the name is re-added by appending first, middle and
+  last name.
+
+- Evolution calendar: work around 'cannot encode item' problem (MB #7879)
+  Happens when the calendar file contains broken events which reference
+  a timezone that is not defined. Now the event is treated like one in
+  the local timezone.
+
+- "http_proxy" env variable is supported regardless which HTTP transport
+  is used (MB#8177).
+
+- avoid crashes when libecal sets neither error nor pointer (MB#8005)
+  and when aborting a running sync in the syncevo-dbus-server (MB#8385)
+
+- "--status" output: fixed missing total item counts (MB #9097)
+
+
+Upgrading from 0.9.1:
+
+* nothing to do, upgrading and downgrading should work seamlessly
+
+
+SyncEvolution 0.9 -> 0.9.1, 26.10.2009
+======================================
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+Mobical and Memotoo are now officially supported.
+
+Memotoo uses vCard 2.1 with several Evolution specific extensions. It
+uses iCalendar 2.0, however, without actually supporting the advanced
+features of it. Times are converted to UTC and meeting information are
+lost.
+
+Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
+result that many properties used in Evolution are not supported by the
+server.  In particular calendar support is very limited (known issues
+when events are in time zones different from the one selected locally
+and on the server, no support for meetings). For details see
+README.mobical.
+
+*** Beware *** that the Mobical SyncML password is *not* the same as
+the one for their web site. Log into mobical.net, then go to "my accounts
+>> configure new device >> manual settings" to find the SyncML
+credentials.
+
+It is now possible to compile database backends outside of
+SyncEvolution, install them and have SyncEvolution use them
+automatically like any other backend. The backend API has been
+enhanced considerably. For example, backend developers have
+access to a modular set of utility classes that can be mixed
+into a specific implementation. Backends can access the internal
+Synthesis representation directly and therefore no longer need
+their own vCard/vCalendar/iCalendar parser.
+
+The sqlite demo backend can be enabled and compiled again with
+--enable-sqlite. It demonstrates how to map directly from the
+Synthesis field list to some internal format (an SQLite database
+schema in this case).
+
+Other changes:
+
+* Resend messages to cope with intermittent loss of network
+  connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
+  and "ResendDelay" configuration properties for details.
+
+* SyncEvolution command line uses the GNOME keyring when
+  the new --keyring option is given.
+
+* The logging of added and updated items was enhanced. Events,
+  tasks and memos are logged with a short description instead of
+  just the local ID. The description for contacts was improved.
+
+* Receiving photos from Mobical failed because Mobical
+  does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
+  Sending photos worked, but added a few bytes of garbage
+  at the end of each photo (typically ignored when showing).
+  Parser was made more tolerant by Synthesis and encoder bug
+  was fixed.
+
+* Task priorities used by Mobical and Evolution did not match:
+  vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
+  SyncEvolution now translates between the two ranges, with
+  some information getting lost when talking to a peer which
+  only supports the smaller range.
+
+* Importing work and home phone numbers from Google into desktop
+  Evolution works better, because SyncEvolution now adds the "VOICE"
+  flag expected by Evolution (MB#6501).
+
+* SSL certificate checking with Google is enabled by default
+  and enabled in Moblin, because libsoup in that distro has
+  the necessary fix. Without that fix, all connection attempts
+  fail. The binaries on syncevolution.org are compiled with
+  --disable-ssl-certificate-check, so users who want the
+  additional security must enable it.
+
+* .rpms on syncevolution.org no longer specify a dependency
+  on certain Perl features. This depencency was a problem on
+  Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
+  binaries are avoided for real this time (MB#6552).
+
+* Some sync-UI enhancements (describe sync services, avoid crash
+  with very long input in some of the text boxes (MB#5219), set
+  application icon, improved some strings).
+
+* sync-UI: now disables sources which are not supported when
+  setting up a configuration, like memos on Moblin (MB #6672).
+  Previously the source was enabled, which prevented using
+  using the configuration as-is on the command line.
+
+* The sync UI allowed to enable calendar and task synchronization
+  with Google although Google does not support that (MB#5871).
+  In new installations this is prevented by clearing the URI
+  for those data categories.
+
+* Trying to remove a non-existent configuration via the command
+  line now raises an error, to catch typos (MB #6673).
+
+* Improved checks which logs in the logdir belong to the current
+  server (MB#5215).
+
+* Improved sanity checking of integer configuration parameters
+  (MB#6500).
+
+* Spelling fix: "aboring" => "aborting"
+
+
+Known issue:
+
+* Mobical and Memotoo do not have a description in the GUI yet.
+
+* ZYB.com is not supported because of a known anchor handling
+  problem in the server (MB#2424).
+
+
+Upgrading from 0.9:
+
+* nothing to do, upgrading and downgrading should work seamlessly
+
+
+SyncEvolution 0.9.1 beta 2 -> 0.9.1, 26.10.2009
+===============================================
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+Minor changes:
+
+* spelling fixes in NEWS file (--source-type => --source-property)
+* update to zh_CN
+* improved autotools compilation of libsynthesis
+
+
+SyncEvolution 0.9.1 beta 1 -> 0.9.1 beta 2, 19.10.2009
+======================================================
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+Several fixes:
+
+* Receiving photos from Mobical failed because Mobical
+  does not quite follow the vCard 2.1 (Moblin Bugzilla #6668).
+  Sending photos worked, but added a few bytes of garbage
+  at the end of each photo (typically ignored when showing).
+  Parser was made more tolerant by Synthesis and encoder bug
+  was fixed.
+
+* Task priorities used by Mobical and Evolution did not match:
+  vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664).
+  SyncEvolution now translates between the two ranges, with
+  some information getting lost when talking to a peer which
+  only supports the smaller range.
+
+* The workaround for detecting an endless stream of Alert 222
+  messages (caused by misbehavior of certain servers when
+  a specific message has to be resent) aborted certain
+  valid (albeit somewhat pathologic) sync sessions. Improved
+  the heuristic so that it still catches the real loop without
+  aborting in that other case.
+
+* sync-ui: now disables sources which are not supported when
+  setting up a configuration, like memos on Moblin (MB #6672).
+  Previously the source was enabled, which prevented using
+  using the configuration as-is on the command line.
+
+* .rpms on syncevolution.org no longer specify a dependency
+  on certain Perl features. This depencency was a problem on
+  Mandriva. Unwanted hard dependencies on libecal in syncevolution.org
+  binaries are avoided for real this time (MB#6552).
+
+* Trying to remove a non-existent configuration via the command
+  line now raises an error, to catch typos (MB #6673).
+
+* Message resend options: added sanity checks to catch negative
+  values, clarified that duration is given in seconds, 0s resend
+  interval disables resending (MB #6500).
+
+* Spelling fix: "aboring" => "aborting"
+
+
+SyncEvolution 0.9 -> 0.9.1 beta 1, 06.10.2009
+=============================================
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+Mobical and Memotoo are now officially supported.
+
+Memotoo uses vCard 2.1 with several Evolution specific extensions. It
+uses iCalendar 2.0, however, without actually supporting the advanced
+features of it. Times are converted to UTC and meeting information are
+lost.
+
+Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the
+result that many properties used in Evolution are not supported by the
+server.  In particular calendar support is very limited (known issues
+when events are in time zones different from the one selected locally
+and on the server, no support for meetings). For details see
+README.mobical.
+
+*** Beware *** that the Mobical SyncML password is *not* the same as
+the one for their web site. Log into mobical.net, then go to "my accounts
+>> configure new device >> manual settings" to find the SyncML
+credentials.
+
+It is now possible to compile database backends outside of
+SyncEvolution, install them and have SyncEvolution use them
+automatically like any other backend. The backend API has been
+enhanced considerably. For example, backend developers have
+access to a modular set of utility classes that can be mixed
+into a specific implementation. Backends can access the internal
+Synthesis representation directly and therefore no longer need
+their own vCard/vCalendar/iCalendar parser.
+
+The sqlite demo backend can be enabled and compiled again with
+--enable-sqlite. It demonstrates how to map directly from the
+Synthesis field list to some internal format (an SQLite database
+schema in this case).
+
+Other changes:
+
+* Resend messages to cope with intermittent loss of network
+  connectivity (Moblin Bugzilla #3427). See the new "ResendDuration"
+  and "ResendDelay" configuration properties for details.
+
+* The logging of added and updated items was enhanced. Events,
+  tasks and memos are logged with a short description instead of
+  just the local ID. The description for contacts was improved.
+
+* The sync UI allowed to enable calendar and task synchronization
+  with Google although Google does not support that (MB#5871).
+  In new installations this is prevented by clearing the URI
+  for those data categories.
+
+* Importing work and home phone numbers from Google into desktop
+  Evolution works better, because SyncEvolution now adds the "VOICE"
+  flag expected by Evolution (MB#6501).
+
+* SyncEvolution command line uses the GNOME keyring when
+  the new --keyring option is given.
+
+* SSL certificate checking with Google is enabled by default
+  and enabled in Moblin, because libsoup in that distro has
+  the necessary fix. Without that fix, all connection attempts
+  fail. The binaries on syncevolution.org are compiled with
+  --disable-ssl-certificate-check, so users who want the
+  additional security must enable it.
+
+* syncevolution.org binaries should be compatible with a wider
+  range of Evolution releases again (MB#6552).
+
+* Some sync UI enhancements (describe sync services, avoid crash
+  with very long input in some of the text boxes (MB#5219), set
+  application icon, improved some strings).
+
+* Improved checks which logs in the logdir belong to the current
+  server (MB#5215).
+
+* Improved sanity checking of integer configuration parameters
+  (MB#6500).
+
+Known issue:
+
+* Mobical and Memotoo do not have a description in the GUI yet.
+
+* ZYB.com is not supported because of a known anchor handling
+  problem in the server (MB#2424).
+
+
+SyncEvolution 0.8.1 -> 0.9, 12.08.2009
+--------------------------------------
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+This is a major new release, with first steps towards further improvements.
+From this release on, the Synthesis SyncML engine will be the
+underlying SyncML and data conversion engine.
+
+A native GTK GUI is now included. The "sync-ui" program depends on a
+backend D-Bus service ("synevo-dbus-server") and several auxiliary
+files. Therefore, it only runs without hacks after installation in 
+/usr (possible with .deb, .rpm and binary .tar.gz archives, and
+with "sudo make install", after compiling from source). The
+normal command line tool still works without being installed.
+
+In this release, the data handling model was changed from "all items
+are sent verbatim to the SyncML server" to "parse and convert". The
+argument for the former approach was that the SyncML server should be
+the only entity in the system which does data conversion. The previous
+releases already had to deviate from this approach to accommodate for
+minor client/server incompatibilities and for vCard 2.1 support, so the
+new approach just takes it one step further.
+
+The main reason for going to full semantic conversion is vCalendar 1.0
+support. Support by servers for iCalendar 2.0, the only format
+supported by 0.8.1, is often still incomplete or even non-existent. By
+doing the conversion on the client side, SyncEvolution is now able to
+synchronize events and tasks with a wider variety of servers.
+
+It is still true that properties not supported by a server cannot
+be synchronized to other devices, so using a server with full
+iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
+information that can be stored only locally is no longer lost when
+receiving an incomplete update from the SyncML server, thanks to
+intelligent merging, provided by the Synthesis engine. This depends on
+an accurate description of the server's capabilities, which might not
+be provided by all of them. This still needs to be tested in more detail.
+
+Interoperability with servers tested extensively in this release.
+The following servers are now supported:
+
+* ScheduleWorld. There is very complete support for Evolution data. The
+  only known issues are around resuming from an interrupted sync.
+
+* Google contact sync.
+
+  Google follows the vCard 2.1 specification, and thus does not support
+  some of the vCard 3.0 additions, nor some of the common extensions. As
+  a result, several properties are not synchronized (nickname, birthday,
+  spouse/manager, URLs, ...). Only one top-level organization seems to
+  be supported. For details, see README.google.
+
+  Regarding Google's SyncML support, refresh-from-client and
+  one-way-from-client sync modes are not supported. Deleting contacts
+  moves them out of the main address without deleting them permanently. When
+  adding such a contact again, the server discards the data sent by the
+  client and recreates the contact with the data that it remembered.
+
+  Because SSL certificate checking for Google works only with libsoup
+  if the platform has a patched libsoup
+  (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >=
+  2.28, certificate checking remains turned off by default for
+  Google. If your platform has a suitable libsoup (like Moblin 2.0),
+  then enable checking with:
+
+  syncevolution --configure \
+                --sync-property SSLVerifyServer=true \
+                --sync-property SSLVerifyHost=true \
+                google
+
+* Funambol, with calendar and task support. Funambol supports iCalendar 2.0
+  in the current server, so this is enabled in the configuration template.
+  Not all iCalendar 2.0 features are supported by the server,
+  most notably support for meetings (drops attendees), meeting
+  invitations (drops UID), detached recurrences
+  (drops RECURRENCE-ID). See README.funambol for details.
+
+  Interoperability with the Funambol server was improved by adding
+  support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
+  #2418). Lost ACTION property has a work around (#2422).
+
+  To enable that support in an existing configuration so that it
+  exchanges items in the more suitable iCalendar 2.0 format, use:
+
+  syncevolution --configure --source-property sync=two-way \
+                funambol calendar todo
+  syncevolution --configure --source-property type='calendar:text/calendar!' \
+                funambol calendar
+  syncevolution --configure --source-property type='todo:text/calendar!' \
+                funambol todo
+
+  Without the exclamation mark, format auto-negotiation would pick the
+  less capable vCalendar 1.0 format because that is marked as preferred
+  by the server.
+
+
+*** WARNING ***: After switching from a previous release to the
+current one, or vice versa, do a "syncevolution --sync
+refresh-from-server" or "--sync refresh-from-client" (depending on
+which side has the authoritative copy of the data) once, to get client
+and server into a consistent state. Not doing so can result in
+applying the same changes to the server multiple times, and thus
+duplicates.
+
+Other changes in detail:
+
+* vCalendar 1.0 is now supported.
+
+* Both libcurl and libsoup can be selected at compile time as HTTP(S)
+  transport mechanism.
+
+* SF #2101015: Expect: 100-continue header results in 417 Error with proxy.
+  Should no longer occur with the HTTP transports in this release.
+
+* SF #1874805: Syncing with Funambol results in loosing all-day property.
+  This now works thanks to the Synthesis data conversion rules.
+
+* SF #2586600: Synchronisation with mobical.net fails in 0.8.1.
+  Works now, but there are some known issues (Bugzilla #3009)
+  and therefore mobical.net is not officially supported yet.
+
+* SF #2542968: Separator for categories should not be escaped.
+  Done correctly by the Synthesis vcard conversion.
+
+* bug fix: Evolution notes with only a summary and no description were
+  not sent correctly to the server. Instead of sending the summary,
+  an empty text was sent. 
+
+* CTRL-C no longer kills SyncEvolution right away. Instead it
+  asks the server to suspend the session. If that takes too
+  long, then pressing CTRL-C twice quickly will abort the sync
+  without waiting for the server (Warning, this may lead to a
+  slow sync in the next session).
+
+* WBXML is enabled by default now, except for Funambol (#2415).
+  Using WBXML reduces message sizes and increases parsing
+  performance.
+
+* New configuration templates can be added to
+  /etc/default/applications/syncevolution. These templates may contain
+  icons, which are used by the GUI (no icons shipped right now).
+
+* Information about previous synchronization sessions is now stored in a
+  machine-readable format and can be accessed using the new
+  --print-sessions options. The output of this information is more
+  complete and more nicely formatted.
+
+* --status now shows not only data changes since the last sync, but also
+  item changes (see README for the difference between the two).
+
+* The new --restore option allows restoring local data to the state as
+  it was before or after a sync. For this to work, "logdir" must be set
+  (done by default for new configurations). The format of database dumps
+  was changed to implement this feature. Instead of in a flat file,
+  items are now saved as individual files in a directory. To get the
+  previous format back (for example, to import as one .vcf or .ics file
+  manually) concatenate these files.
+
+* With –-remove, one can remove configurations. It leaves data files and
+  the local databases untouched.
+
+
+Known issues:
+
+* The GUI includes the number of locally deleted items during a
+  refresh-from-server sync in the number of "received changes"
+  (#5185), which is a bit misleading. This is a result of #3314,
+  which introduced changes not "received" from the server.
+
+* When a network error occurs and the client
+  never notices that the connection to the server was lost, 
+  it will hang forever, waiting for the server's reply (#3427).
+
+* The file backend now works only for data formats understood
+  by SyncEvolution and the Synthesis engine. Items are parsed
+  when exchanging them among the backend, engine, and server,
+  in contrast to 0.8.1, where item content was not touched
+  locally (#5046).
+
+* The ZYB.com server sends conflicting sync anchors, so
+  most syncs don't work as expected (#2424).
+
+
+SyncEvolution 0.9 beta 3 hotfix -> 0.9 final, 12.08.2009
+--------------------------------------------------------
+
+Because SSL certificate checking for Google only works with libsoup if
+the platform has a patched libsoup
+(http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >= 2.28,
+certificate checking remains turned off by default for Google. If your
+platform has a suitable libsoup (like Moblin 2.0), then enable
+checking with:
+
+  syncevolution --configure \
+                --sync-property SSLVerifyServer=true \
+                --sync-property SSLVerifyHost=true \
+                google
+
+Only minor changes:
+* updated translations
+* refresh-from-server syncs now report how many items were
+  deleted locally at the start of the sync (Bugzilla #3314).
+  The GUI includes the number of locally deleted items during a
+  refresh-from-server sync in the number of "received changes",
+  which is a bit misleading (#5185).
+* fixed build issue on Fedora 11/g++ 4.4 (Bugzilla #5061)
+* some build and test improvements
+* proper fix for D-Bus error functions (#4919)
+* improve sync-ui startup time by avoiding an unnecessary
+  copying of the sync config into itself (#5021)
+* adapted tooltip style (used for SyncML server links) to new
+  Moblin theme, they weren't visible earlier (#5017)
+* notify zone selector in Moblin 2.0 about sync-ui startup (#4752)
+* sync-ui: minor layout change for fatal error situation
+
+
+SyncEvolution 0.9 beta 3 -> 0.9 beta 3 hotfix, 23.07.2009
+---------------------------------------------------------
+
+Found additional Google limitation: the server drops photos if they
+exceed a certain size. The limit is somewhere between 40KB (okay) and
+80KB (dropped).
+
+The last-minute workaround for Google/libsoup/gnutls (using http)
+didn't work because apparently Google only supports SyncML over https
+(Bugzilla #4551).  Now the default configuration template uses https
+with all certificate checking disabled. A patch for libsoup was
+submitted to upstream.
+
+Some error messages by the "syncevolution" command line tool were not
+printed (#4676). The root cause was the intentional interception of
+stderr to hide the noise printed by various system libraries
+(#1333). Unfortunately remarks about incorrect command line options
+were among swallowed messages. No good workaround available short of
+disabling the redirection with SYNCEVOLUTION_DEBUG=1, so let's release
+an update...
+
+Other changes:
+* updated translations
+
+
+SyncEvolution 0.9 beta 2 -> 0.9 beta 3, 21.07.2009
+--------------------------------------------------
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+Enabled calendar and task synchronization for myFunambol.com.
+Not all iCalendar 2.0 features are supported by the server,
+most notably support for meetings (drops attendees), meeting
+invitations (drops UID), detached recurrences
+(drops RECURRENCE-ID). See README.funambol for details.
+
+Interoperability with the Funambol server was improved by adding
+support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
+Bugzilla #2418). Lost ACTION property is worked around (#2422).
+
+Synchronization with Google Contacts was enabled and tested.
+A configuration template for that server is now provided. Google
+follows the vCard 2.1 specification and thus does not support some
+of the vCard 3.0 additions, nor some of the common extensions. As
+a result, several properties are not synchronized (nickname, birthday,
+spouse/manager, URLs, ...). Only one top-level organization seems to
+be supported. For details, see README.google.
+
+Regarding Google's SyncML support, refresh-from-client and
+one-way-from-client sync modes are not supported. Deleting contacts
+moves them out of the main address without deleting them permanently. When
+adding such a contact again, the server discards the data sent by the
+client and recreates the contact with the data that it remembered.
+
+SSL certificate checking with libsoup (the default transport) is now
+supported (#2431). However, libsoup/gnutls are very strict about SSL
+certificate checking and reject version 1 certificates, like the one
+used by Verisign for Google (#4551). At the moment the only solution
+is to fall back to plain http in the Google configuration template.
+
+CTRL-C no longer kills SyncEvolution right away. Instead it
+asks the server to suspend the session. If that takes too
+long, then pressing CTRL-C twice quickly will abort the sync
+without waiting for the server (warning, this may lead to a
+slow sync in the next session).
+
+WBXML is enabled by default now, except for Funambol (#2415).
+Using WBXML reduces message sizes and increases parsing
+performance. It was not enabled initially in the 0.9 releases in order
+to test this new feature more thoroughly. Old configs don't have an
+explicit enableWBXML setting and therefore will automatically use the
+new default.
+
+Various bug fixes and improvements:
+
+* only show servers in GUI which are tested and supported (Bugzilla #3336)
+* a single log file is written in .html format (#3474)
+* added several translations of the GUI
+* lots of testing improvements, build binary packages again
+
+UPGRADING
+
+When enabling calendar and todo synchronization with Funambol
+in an existing configuration, set the type so that iCalendar 2.0 is used:
+  syncevolution --configure --source-property sync=two-way funambol calendar todo
+  syncevolution --configure --source-property type='calendar:text/calendar!' funambol calendar
+  syncevolution --configure --source-property type='todo:text/calendar!' funambol todo
+
+When creating a configuration anew, this is not necessary because the
+configuration template contains those types.
+
+
+SyncEvolution 0.9 beta 1 -> 0.9 beta 2, 12.06.2009
+--------------------------------------------------
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+Major new feature: a GTK GUI! The "sync-ui" program depends on a
+backend D-Bus service ("synevo-dbus-server") and several auxiliary
+files. Therefore it only runs without hacks after "sudo make install",
+in contrast to the normal command line which can be invoked directly.
+
+New configuration templates can be added to
+/etc/default/applications/syncevolution. These templates may contain
+icons which are used by the GUI (no icons shipped right now).
+
+Information about previous synchronization sessions is now stored in a
+machine-readable format and can be accessed via the new
+--print-sessions options. The output of this information is more
+complete and nicer formatted.
+
+--status now not only shows data changes since the last sync, but also
+the item changes (see README for the difference between the two).
+
+The new --restore option allows restoring local data to the state as
+it was before or after a sync. For this to work, "logdir" must be set
+(done by default for new configurations). The format of database dumps
+was changed to implement this feature: instead of in a flat file,
+items are now saved as individual files in a directory. To get the
+previous format back (for example, to import as one .vcf or .ics file
+manually) concatenate these files.
+
+With --remove one can remove configurations. It leaves data files and
+the local databases untouched.
+
+Various bug fixes and improvements:
+
+* compiles and works again on Debian Etch if Boost 1.35 is installed
+  from www.backports.org (without GUI, see Bugzilla #3358)
+
+* uses XDG_CACHE_HOME (= ~/.cache) for logs and database dumps to
+  avoid interfering with .desktop search in XDG_DATA_HOME; the
+  directory there is automatically moved when running syncevolution
+  (Bugzilla #3309)
+
+* re-enabled certain config options (clientAuthType, maxMsgSize, maxObjSize);
+  normally it shouldn't be necessary to modify those (Bugzilla #3242, #2784)
+
+* fixed error handling of unexpected server reply in libsoup transport
+  (Bugzilla #3041)
+
+* message logging is enabled at logLevel 3 (XML translation) and 4 (also
+  original XML or WBXML message)
+
+* GTK GUI fixes since initial Moblin 2.0 beta: only start it once if
+  libunique is available (Bugzilla #3154), wrap text in change sync service"
+  button (Bugzilla #2064), sort sources alphabetically in UI (Bugzilla #2070)
+
+
+SyncEvolution 0.8.1 -> 0.9 beta 1, 13.05.2009
 ---------------------------------------------
 Synthesis SyncML Engine version: see src/synthesis/ChangeLog
 
@@ -19,7 +1370,7 @@ minor client/server incompatibilities and for vCard 2.1 support.
 
 The main reason for going to full semantic conversion is vCalendar 1.0
 support. Support by servers for iCalendar 2.0, the only format
-supported by 0.8.1, is often still incomplete or even non-existant. By
+supported by 0.8.1, is often still incomplete or even non-existent. By
 doing the conversion on the client side, SyncEvolution is now able to
 synchronize events and tasks with a wider variety of servers.