2408 lines
109 KiB
Text
2408 lines
109 KiB
Text
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
|
||
|
||
A major new release and the first step towards further improvements:
|
||
from this release onwards, the Synthesis SyncML engine is used as the
|
||
underlying SyncML and data conversion engine. The focus of this first
|
||
beta was to reach the same level of functionality and stability as in
|
||
0.8.1. Therefore this beta does not yet bring much new features; this
|
||
will be the focus of further beta releases until finally 0.9 will be a
|
||
full replacement for 0.8.1.
|
||
|
||
This release also switches from an "all items are sent verbatim to the
|
||
SyncML server" to a "parse and convert" data handling model. 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.
|
||
|
||
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 only be stored 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 - still needs to be tested in more detail.
|
||
|
||
*** 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.
|
||
|
||
Changes in detail:
|
||
|
||
* vCalendar 1.0 is now supported. Because this hasn't been tested that
|
||
much yet, events and tasks are still disabled in the Funambol default
|
||
configuration (SF #2635973).
|
||
|
||
* 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
|
||
Should work now because of the different SyncML implementation (untested).
|
||
|
||
* 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: an empty text was sent instead of
|
||
sending the summary
|
||
|
||
Known shortcomings in this release which will be fixed before the
|
||
final 0.9:
|
||
|
||
* Verbatim file backups of items on the SyncML server are currently
|
||
not possible: the SyncEvolution "file" backend still exists, but
|
||
all items are converted by the Synthesis engine and therefore must
|
||
be in a format supported by the engine.
|
||
|
||
* HTTPS can be used with libsoup, but certificate checking is always
|
||
disabled. Need to find a portable way to determine where the
|
||
certificate file is on various systems.
|
||
|
||
* Log file handling is not yet unified: the traditional client.log
|
||
contains only high-level SyncEvolution log entries. Low-level
|
||
SyncML and engine log entries are in sysync_*.html files.
|
||
|
||
* stdout and stderr messages from system libraries are visible on the
|
||
console. 0.8.1 used to redirect those into the client.log to hide
|
||
this noise; this will be added again. In the meantime, ignore
|
||
messages like "Deadlock potential - avoiding evil bug!". This is
|
||
liborbit telling us that it is (hopefully successfully) handling
|
||
something nasty.
|
||
|
||
|
||
SyncEvolution 0.8.1 -> 0.8.1a, 15.12.2008
|
||
-----------------------------------------
|
||
C++ client library: 7.0 plus some patches, see github
|
||
repository referenced in configure script.
|
||
|
||
A minor bug fix release, updating only necessary on Mac OS X.
|
||
|
||
* #2307976 "Trace/BPT trap - sync failure": occurs randomly in
|
||
Mac OS X specific transport layer of the Funambol C++ client
|
||
library. Avoided in 0.8.1a by using libcurl as transport,
|
||
as in 0.7.
|
||
|
||
|
||
SyncEvolution 0.8 -> 0.8.1, 11.10.2008
|
||
--------------------------------------
|
||
C++ client library: 7.0 plus some patches, see github
|
||
repository referenced in configure script.
|
||
|
||
A minor bug fix release, updating not really necessary.
|
||
The binary packages for Evolution are built now so that
|
||
one package works for all compatible Evolution releases,
|
||
including the new Evolution 2.24.
|
||
|
||
* Evolution calendar: regression in 0.8: one-way sync of virtual
|
||
birthday calendar (#2095433). "refresh-from-client" works again
|
||
for the birthday calendar. Other modes are not supported.
|
||
In contrast to previous releases SyncEvolution now does some
|
||
sanity checks that the sync mode is right.
|
||
* Mac OS X: removing old logdirs failed (#2087389). Fixed.
|
||
* SyncML client library: "Expect: 100-continue" header
|
||
resulted in 417 error with certain proxies (#2101015).
|
||
Now this header is always disabled; it doesn't make
|
||
much sense with SyncML anyway.
|
||
* The development of the Funambol C++ client library is now
|
||
tracked in a git repository on github.com. Modifications
|
||
and tags for SyncEvolution are checked in there. The
|
||
configure script checks out the right sources from there
|
||
automatically; can be controlled via --with-funambol-src
|
||
parameter.
|
||
* Evolution desktop: the version of the used Evolution libraries
|
||
is included in the "--version" output and log files.
|
||
* Cleaned up README. Kudos to Martin Wetterstedt for pointing
|
||
out mistakes in the README and the web site.
|
||
|
||
|
||
SyncEvolution 0.7 -> 0.8, 29.08.2008
|
||
------------------------------------
|
||
C++ client library: 7.0 plus compatibility patch for Synthesis
|
||
|
||
Updating user configuration: this version introduces a new, simplified
|
||
configuration layout. Old configurations still work. They can be
|
||
converted to the new format via a new "--migrate" command line option.
|
||
|
||
*** WARNING ***: this version uses a different change tracking for Mac
|
||
OS X address book, Evolution calendars, task lists and memos. After
|
||
switching from a previous release to the current one or vice versa, do
|
||
a "syncevolution --sync refresh-from-server" once to reset the change
|
||
tracking. Not doing so can result in applying the same changes to the
|
||
server multiple times and thus duplicates.
|
||
|
||
* New configuration file layout: following the freedesktop.org
|
||
recommendation, new configurations are stored in
|
||
$XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
|
||
XDG_CONFIG_HOME is not set. The old layout under
|
||
$HOME/.sync4j/evolution is still supported.
|
||
|
||
* New command line options: new configurations can be created by
|
||
syncevolution itself (--configure), including setting of all
|
||
configuration properties (--sync-property, --source-property).
|
||
The configuration can dumped to stdout (--print-config), with or
|
||
without comments explaining each property (--quiet). See the
|
||
README for details.
|
||
|
||
* The "evolutionsource" source property no longer has to be configured.
|
||
If left blank, the default client database will be synchronized.
|
||
|
||
* Selecting which kind of data is to be synchronized under a specific
|
||
source name is a lot easier now and the same on all supported
|
||
platforms: the SyncEvolution backends can be selected via aliases
|
||
(e.g. "contacts") and the format is specified via an optional
|
||
MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
|
||
that multiple backends are active which can synchronize the same
|
||
kind of data, then the right one can be selected by the unique
|
||
name of the backend (e.g. "Evolution Address Book").
|
||
|
||
* New configurations automatically get a random client ID string.
|
||
Setting it manually is still possible, but no longer necessary.
|
||
Disabling unavailable data sources is also done automatically.
|
||
|
||
SyncEvolution checks that the backend is available and there is
|
||
at least one database (the first one will be synchronized unless
|
||
explicitly changed). If these checks fail and the sync source was
|
||
explicitly requested by the user by listing it after the server
|
||
name, then an error is printed and no configuration is written.
|
||
If the user wants the default setup, then the source is silently
|
||
disabled.
|
||
|
||
* All passwords can be read from stdin at runtime or an environment
|
||
variable (see "--sync-property password=?" or README for details).
|
||
Both avoids the less secure storing of plain text passwords in the
|
||
configuration files (SF #1832458).
|
||
|
||
* Detached recurrences: meeting series where some occurrences were
|
||
modified are now supported. Previously only the main event was
|
||
synchronized. All exceptions got lost when copying back from the
|
||
server. Requires a SyncML server which supports this. ScheduleWorld
|
||
was extended to do that.
|
||
|
||
* Fixed segfaults caused by logging certain data. The reason was an
|
||
API change in the client library's logging calls which the older
|
||
SyncEvolution code hadn't been adapted to. Did not normally occur,
|
||
but might have been the reason for SF #1830149 (unconfirmed).
|
||
|
||
* Time zone support: the time zones of incoming events are mapped
|
||
to native time zone definitions whenever possible. Currently
|
||
this works if the TZID follows the Olson naming scheme with a
|
||
location at the end. Matching the time zone has the advantage of
|
||
being able to update the time zone definition without having to
|
||
recreate the event. If matching fails and the VTIMEZONE definition
|
||
differs from one already imported earlier, then SyncEvolution works
|
||
arounds limitation in Evolution by renaming the time zone.
|
||
Previously the new event used the old and most likely out-dated
|
||
time zone definition.
|
||
|
||
***WARNING***: Evolution itself does not do either of these steps
|
||
itself yet, thus importing meeting invitations via Evolution still
|
||
fails in some cases. The code implementing the time zone handling
|
||
described above was written with inclusion into Evolution itself in
|
||
mind; a discussion with the Evolution developers about that is in
|
||
progress.
|
||
|
||
* On Maemo/Nokia Internet Tablets, calendar synchronization now
|
||
works because the new calendar change tracking no longer depends
|
||
on some of the backend calls which used to fail (SF #1734977).
|
||
|
||
* Added SSL configuration options: certificate checking can be
|
||
relaxed or disabled completely (SF #1852647).
|
||
|
||
* Added a new file backend: stores each SyncML item as a separate file
|
||
in a directory. The directory has to be specified via the database
|
||
name, using [file://]<path> as format. The file:// prefix is
|
||
optional, but the directory is only created if it is used.
|
||
|
||
Change tracking is done via the file systems modification time
|
||
stamp: editing a file treats it as modified and then sends it to the
|
||
server in the next sync. Removing and adding files also works.
|
||
|
||
The local unique identifier for each item is its name in the
|
||
directory. New files are created using a running count which
|
||
initialized based on the initial content of the directory to
|
||
"highest existing number + 1" and incremented to avoid collisions.
|
||
|
||
Although this sync source itself does not care about the content of
|
||
each item/file, the server needs to know what each item sent to it
|
||
contains and what items the source is able to receive. Therefore
|
||
the "type" property for this source must contain a data format
|
||
specified, including a version for it. Here are some examples:
|
||
- type=file:text/vcard:3.0
|
||
- type=file:text/plain:1.0
|
||
|
||
* Code restructuring: it is now possible to add new backends and thus
|
||
write SyncML clients for other kinds of data without touching any
|
||
line of code in SyncEvolution itself. All the required interfaces
|
||
are documented inside SyncEvolution itself. A HTML documentation can
|
||
be built via the new "make doc" target (requires Doxygen and dot).
|
||
|
||
The SyncEvolution framework itself never depended on GNOME or
|
||
Evolution, only the Evolution data sources did. If you want
|
||
support for other ways of storing your data, consider writing
|
||
a new data source - it is really easy. See EvolutionSyncSource
|
||
or TrackingSyncSource for details.
|
||
|
||
* Messages are printed to the screen immediately. More readable
|
||
log file format.
|
||
|
||
* Maemo: the useless ''list: unable to access calendars:
|
||
failure' error message is avoided. It was triggered by not having
|
||
memo support in Evolution Data Server. Cleaned up the code so that
|
||
it properly distinguishes between 'calendar', 'memo list' and
|
||
'task list'.
|
||
|
||
* added server template for MemoToo; note that the server has not been
|
||
tested
|
||
|
||
* added synchronization of Evolution memo summary
|
||
|
||
Most devices only synchronize plain text and do not have a
|
||
separate summary field. Such an extra summary field was added to
|
||
Evolution after memo support was initially implemented in
|
||
SyncEvolution, therefore SyncEvolution did not transmit that
|
||
field.
|
||
|
||
Added transmitting the summary by inserting it as first line of
|
||
the plain text blob *if* it is not already identical with the
|
||
first line. When receiving a memo, the summary is set from the
|
||
first line *without* removing the first line because the first
|
||
line might have been used as a normal part of the memo.
|
||
|
||
* Various other minor changes, fixes and lots of code cleanups.
|
||
|
||
* license cleanup: SyncEvolution is GPL v2 or later
|
||
|
||
|
||
SyncEvolution 0.8 beta 2 -> 0.8 final, 29.08.2008
|
||
-------------------------------------------------
|
||
C++ client library: 7.0 plus compatibility patch for Synthesis
|
||
|
||
* license cleanup: SyncEvolution is GPL v2 or later
|
||
|
||
|
||
SyncEvolution 0.8 beta 2 -> 0.8 beta 3, 17.08.2008
|
||
--------------------------------------------------
|
||
C++ client library: 7.0 plus compatibility patch for Synthesis
|
||
|
||
* Another revision of updating events in Evolution calendars:
|
||
the method introduced in 0.8 beta 1 for dealing with
|
||
detached recurrences did not work with the Evolution Exchange
|
||
Connector. Now both Exchange and local calendars pass the unit
|
||
tests again.
|
||
|
||
* minor code cleanup (testing, writing additional backends)
|
||
|
||
|
||
SyncEvolution 0.8 beta 1 -> 0,8 beta 2, 03.08.2008
|
||
--------------------------------------------------
|
||
C++ client library: 7.0 plus compatibility patch for Synthesis
|
||
|
||
* To prevent accidental sync runs when a configuration change
|
||
was intented, a new --run switch must be used when configuration
|
||
properties are given on the command line. When neither --run
|
||
nor --configure are specified, SyncEvolution prints an
|
||
error and refuses to do anything.
|
||
|
||
* Improved documentation for command line, in particular the synopsis.
|
||
|
||
* Added a new file backend: stores each SyncML item as a separate file
|
||
in a directory. The directory has to be specified via the database
|
||
name, using [file://]<path> as format. The file:// prefix is
|
||
optional, but the directory is only created if it is used.
|
||
|
||
Change tracking is done via the file systems modification time
|
||
stamp: editing a file treats it as modified and then sends it to the
|
||
server in the next sync. Removing and adding files also works.
|
||
|
||
The local unique identifier for each item is its name in the
|
||
directory. New files are created using a running count which
|
||
initialized based on the initial content of the directory to
|
||
"highest existing number + 1" and incremented to avoid collisions.
|
||
|
||
Although this sync source itself does not care about the content of
|
||
each item/file, the server needs to know what each item sent to it
|
||
contains and what items the source is able to receive. Therefore
|
||
the "type" property for this source must contain a data format
|
||
specified, including a version for it. Here are some examples:
|
||
- type=file:text/vcard:3.0
|
||
- type=file:text/plain:1.0
|
||
|
||
* Code restructuring: it is now possible to add new backends and thus
|
||
write SyncML clients for other kinds of data without touching any
|
||
line of code in SyncEvolution itself. All the required interfaces
|
||
are documented inside SyncEvolution itself. A HTML documentation can
|
||
be built via the new "make doc" target (requires Doxygen and dot).
|
||
|
||
|
||
SyncEvolution 0.8 alpha 1 -> 0.8 beta 1, 12.07.2008
|
||
---------------------------------------------------
|
||
C++ client library: the frozen 7.0 code, but before the release
|
||
|
||
* Added support for detached recurrences (aka modified instances of
|
||
a recurring event). Requires a SyncML server which supports this.
|
||
ScheduleWorld was extended to do that.
|
||
|
||
* Fixed segfaults caused by logging certain data. The reason was an
|
||
API change in the client library's logging calls which the older
|
||
SyncEvolution code hadn't been adapted to. Did not normally occur,
|
||
but might have been the reason for SF #1830149 (unconfirmed).
|
||
|
||
* when creating a config for the first time, only enable sync sources
|
||
which can be synchronized (SF #1991286)
|
||
|
||
The check for that was completely missing. Now SyncEvolution
|
||
checks that the backend is available and there is at least one
|
||
database (the first one will be synchronized unless explicitly
|
||
changed). If these checks fail and the sync source was explicitly
|
||
requested by the user by listing it after the server name, then
|
||
an error is printed and no configuration is written. If the user
|
||
wants the default setup, then the source is silently disabled.
|
||
|
||
* Fixed incorrect properties in some of the new server templates
|
||
(ScheduleWorld syncURL + calender URI, Funambol syncURL, ScheduleWorld
|
||
addressbook type)
|
||
|
||
* Device IDs must start with the "sc-pim-" prefix, otherwise myFUNAMBOL
|
||
may treat different devices as the single phone that myFUNAMBOL
|
||
supports, leading to unwanted slow syncs.
|
||
|
||
* Maemo package is build again so that backends are loaded dynamically:
|
||
installing Dates application is as it was with the 0.7 release
|
||
(SF #1993109). The useless ''list: unable to access calendars:
|
||
failure' error message is avoided. It was triggered by not having
|
||
memo support in Evolution Data Server. Cleaned up the code so that
|
||
it properly distinguishes between 'calendar', 'memo list' and
|
||
'task list'.
|
||
|
||
* added server template for MemoToo; note that the server has not been
|
||
tested
|
||
|
||
* added synchronization of Evolution memo summary
|
||
|
||
Most devices only synchronize plain text and do not have a
|
||
separate summary field. Such an extra summary field was added to
|
||
Evolution after memo support was initially implemented in
|
||
SyncEvolution, therefore SyncEvolution did not transmit that
|
||
field.
|
||
|
||
Added transmitting the summary by inserting it as first line of
|
||
the plain text blob *if* it is not already identical with the
|
||
first line. When receiving a memo, the summary is set from the
|
||
first line *without* removing the first line because the first
|
||
line might have been used as a normal part of the memo.
|
||
|
||
* removed --properties option: it wasn't implemented yet and won't be in 0.8
|
||
|
||
* fixed regression in alpha 1: setting sync mode during status query
|
||
or sync affected *all* sources, even the disabled ones. Now it only
|
||
affects the enabled ones, as intended. To enable disabled sync sources,
|
||
list them after the server name.
|
||
|
||
*** WARNING ***: this version uses a different change tracking for
|
||
for Mac OS X AddressBook. After switching from a previous release to the current
|
||
one or vice versa, do a "syncevolution --sync refresh-from-server"
|
||
once to reset the change tracking. Not doing so can result in applying
|
||
the same changes to the server multiple times and thus duplicates.
|
||
|
||
A similar change was necessary in 0.8 alpha 1 for Evolution calendar,
|
||
tasks, and memos. When switching from a version >= 0.8 alpha 1 to an
|
||
older version or vice versa also refresh the local databases.
|
||
|
||
0.8 alpha 1 did not create correct configurations. When you want to continue
|
||
using such a configuration, make sure that in addition to the obviously
|
||
wrong syncURLs also the less obvious ScheduleWorld config mistakes are fixed:
|
||
* calendar: uri=cal2
|
||
* addressbook: type=addressbook:text/vcard
|
||
* deviceId must start with "sc-pim-" if you synchronize with myFUNAMBOL,
|
||
otherwise there may be unwanted slow syncs when multiple devices with
|
||
a different deviceId connect. Note that changing the deviceId causes
|
||
a slow sync, so you should get client and server in sync before changing
|
||
the value, change it, then do a "--sync refresh-from-server".
|
||
|
||
|
||
SyncEvolution 0.7 -> 0.8 alpha 1, 19.04.2008
|
||
--------------------------------------------
|
||
C++ client library: a snapshot of the development version
|
||
|
||
Updating user configuration: this version introduces a new, simplified
|
||
configuration layout. Old configurations still work. They can be
|
||
converted to the new format via a new "--migrate" command line option.
|
||
|
||
*** WARNING ***: this version uses a different change tracking for
|
||
Evolution calendars, task lists and memos. After switching from a previous
|
||
release to the current one or vice versa, do a "syncevolution --sync
|
||
refresh-from-server" once to reset the change tracking. Not doing so
|
||
can result in applying the same changes to the server multiple times
|
||
and thus duplicates.
|
||
|
||
* New configuration file layout: following the freedesktop.org
|
||
recommendation, new configurations are stored in
|
||
$XDG_CONFIG_HOME/syncevolution or $HOME/.config/syncevolution if
|
||
XDG_CONFIG_HOME is not set. The old layout under
|
||
$HOME/.sync4j/evolution is still supported.
|
||
|
||
* New command line options: new configurations can be created by
|
||
syncevolution itself (--configure), including setting of all
|
||
configuration properties (--sync-property, --source-property).
|
||
The configuration can dumped to stdout (--print-config), with or
|
||
without comments explaining each property (--quiet). See the
|
||
README for details.
|
||
|
||
* The "evolutionsource" source property no longer has to be configured.
|
||
If left blank, the default client database will be synchronized.
|
||
|
||
* Selecting which kind of data is to be synchronized under a specific
|
||
source name is a lot easier now and the same on all supported
|
||
platforms: the SyncEvolution backends can be selected via aliases
|
||
(e.g. "contacts") and the format is specified via an optional
|
||
MIME type (e.g. "contacts:text/x-vcard"). In the unlikely situation
|
||
that multiple backends are active which can synchronize the same
|
||
kind of data, then the right one can be selected by the unique
|
||
name of the backend (e.g. "Evolution Address Book").
|
||
|
||
* New configurations automatically get a random client ID string.
|
||
Setting it manually is still possible, but no longer necessary.
|
||
|
||
* All passwords can be read from stdin at runtime or an environment
|
||
variable (see "--sync-property password=?" or README for details).
|
||
Both avoids the less secure storing of plain text passwords in the
|
||
configuration files (SF #1832458).
|
||
|
||
* Detached recurrences: meeting series where some occurrences were
|
||
modified are now supported. Previously only the main event was
|
||
synchronized. All exceptions got lost when copying back from the
|
||
server. ***WARNING***: such events are accepted by ScheduleWorld,
|
||
but not propagated to other clients. Under investigation.
|
||
|
||
* Time zone support: the time zones of incoming events are mapped
|
||
to native time zone definitions whenever possible. Currently
|
||
this works if the TZID follows the Olson naming scheme with a
|
||
location at the end. Matching the time zone has the advantage of
|
||
being able to update the time zone definition without having to
|
||
recreate the event. If matching fails and the VTIMEZONE definition
|
||
differs from one already imported earlier, then SyncEvolution works
|
||
arounds limitation in Evolution by renaming the time zone.
|
||
Previously the new event used the old and most likely out-dated
|
||
time zone definition.
|
||
|
||
***WARNING***: Evolution itself does not do either of these steps
|
||
itself yet, thus importing meeting invitations via Evolution still
|
||
fails in some cases. The code implementing the time zone handling
|
||
described above was written with inclusion into Evolution itself in
|
||
mind; a discussion with the Evolution developers about that is in
|
||
progress.
|
||
|
||
* On Maemo/Nokia Internet Tablets, calendar synchronization now
|
||
works because the new calendar change tracking no longer depends
|
||
on some of the backend calls which used to fail (SF #1734977).
|
||
|
||
* Added SSL configuration options: certificate checking can be
|
||
relaxed or disabled completely (SF #1852647).
|
||
|
||
* Adding support for new local data sources is easier now. The
|
||
SyncEvolution frame work itself never depended on GNOME or
|
||
Evolution, only the Evolution data sources did. If you want
|
||
support for other ways of storing your data, consider writing
|
||
a new data source - it is really easy. See EvolutionSyncSource
|
||
or TrackingSyncSource for details.
|
||
|
||
* Messages are printed to the screen immediately. More readable
|
||
log file format.
|
||
|
||
* Various other minor changes and fixes.
|
||
|
||
|
||
SyncEvolution 0.6 -> 0.7, 17.12.2007
|
||
------------------------------------
|
||
C++ client library: r_6_5_3_1
|
||
|
||
Updating user configuration: no relevant changes in this release. For those
|
||
who haven't done so already, enabling large object support is recommended
|
||
(see syncml/config.txt sample configs).
|
||
|
||
* added port for iPhone and Mac OS X Address Book
|
||
|
||
* fixed Nokia packaging problem which prevented installation
|
||
via the package manager unless it was in "red pill" mode
|
||
(SF #1781652)
|
||
|
||
* sync with eGroupware - lost or messed up telephones: SyncEvolution
|
||
incorrectly added TYPE=OTHER to phone numbers sent with e.g.
|
||
CELL instead of TYPE=CELL (SF #1796086). Another patch was
|
||
required for eGroupware itself to correctly map phone numbers
|
||
as sent by SyncEvolution, see Compatibility web page.
|
||
|
||
* added .deb packages
|
||
|
||
* adapted calendar event insert/update to Evolution 2.12: the UID needs to be
|
||
restored, otherwise the Evolution backend crashes (GNOME issue #488881)
|
||
|
||
* new feature: if the previous log directory is still available,
|
||
then local changes made since last sync can be queried
|
||
before starting a sync (new option --status) and will be
|
||
printed directly before a sync. Setting the "logdir" option
|
||
will automatically keep the most recent logs and database
|
||
dumps around.
|
||
|
||
* added command line options:
|
||
--sync|-s <mode>
|
||
Temporarily synchronize the active sources in that mode. Useful
|
||
for a 'refresh-from-server' or 'refresh-from-client' sync which
|
||
clears all data at one end and copies all items from the other.
|
||
|
||
--status|-t
|
||
The changes made to local data since the last synchronization are
|
||
shown without starting a new one. This can be used to see in advance
|
||
whether the local data needs to be synchronized with the server.
|
||
|
||
--quiet|-q
|
||
Suppresses most of the normal output during a synchronization. The
|
||
log file still contains all the information.
|
||
|
||
--help|-h
|
||
Prints usage information.
|
||
|
||
--version
|
||
Prints the SyncEvolution version.
|
||
|
||
* default configurations now reference the normal Evolution databases
|
||
("Personal") thus requiring less changes to use. The account information
|
||
is now clearly marked as placeholder which needs to be entered.
|
||
|
||
* bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
|
||
by SyncEvolution (must convert to upper case because vCard 2.1 only allows
|
||
that), leading to problems with mapping phone numbers in the Funambol server.
|
||
Diagnosed and reported by Paul McDermott, thanks a lot!
|
||
|
||
* support receiving plain text notes with \n and \r\n line breaks;
|
||
always send with \r\n
|
||
|
||
* added explicit error message when syncevolution is invoked
|
||
with incorrect names in the list of sources to synchronize:
|
||
previously it silently ignored unknown names
|
||
|
||
* improved output: less verbose ("extracting" items is now
|
||
logged at debug level and thus not normally shown) and more
|
||
informative printing of changes (table summarizes number of
|
||
changes on client and server, heading for comparison changed
|
||
to make it clear that it shows changes on the client)
|
||
|
||
* SyncCap is not generated unless syncModes are configured: added
|
||
a comment to example config (SF #1764123)
|
||
|
||
* improved error handling: catch errors during post-processing and
|
||
continue
|
||
|
||
|
||
SyncEvolution 0.7-pre2 -> 0.7, 17.12.2007
|
||
-----------------------------------------
|
||
C++ client library: r_6_5_3_1
|
||
|
||
* bugfix: vCard 3.0 with mixed case were not converted properly to vCard 2.1
|
||
by SyncEvolution (must convert to upper case because vCard 2.1 only allows
|
||
that), leading to problems with mapping phone numbers in the Funambol server.
|
||
Diagnosed and reported by Paul McDermott, thanks a lot!
|
||
|
||
* support receiving plain text notes with \n and \r\n line breaks;
|
||
always send with \r\n
|
||
|
||
* added explicit error message when syncevolution is invoked
|
||
with incorrect names in the list of sources to synchronize:
|
||
previously it silently ignored unknown names
|
||
|
||
* added stack dumping in case of premature abort;
|
||
removed workaround for lost connection to Evolution Dataserver
|
||
again because the workaround itself caused random segfaults inside
|
||
glib
|
||
|
||
|
||
SyncEvolution 0.7-pre1 -> 0.7-pre2, 08.11.2007
|
||
----------------------------------------------
|
||
C++ client library: branch b_v65
|
||
|
||
Updating user configuration: no relevant changes in this release. For those
|
||
who haven't done so already, enabling large object support is recommended
|
||
(see syncml/config.txt sample configs). It is required for myFUNAMBOL to
|
||
synchronize very large address books and some users have reported segfaults
|
||
unless this option was enabled.
|
||
|
||
* iPhone bug fix: syncing contacts with photos was unreliable (export) and
|
||
crashed (import) because the API had not been called correctly
|
||
|
||
* iPhone + ScheduleWorld: when configured to use vcard3 (recommended!) then
|
||
contacts are exchanged as vCard 3.0
|
||
|
||
* iPhone + ScheduleWorld bugfix: importing vCard 3.0 did not correctly
|
||
classify the phone numbers. A sync with the new "--sync refresh-from-server"
|
||
option will fix this, assuming that the server has the correct data.
|
||
|
||
* Evolution: detect a crashed backend and abort SyncEvolution instead of
|
||
hanging forever.
|
||
|
||
* adapted calendar event insert/update to Evolution 2.12: the UID needs to be
|
||
restored, otherwise the Evolution backend crashes (GNOME issue #488881)
|
||
|
||
* new feature: if the previous log directory is still available,
|
||
then local changes made since last sync can be queried
|
||
before starting a sync (new option --status) and will be
|
||
printed directly before a sync. Setting the "logdir" option
|
||
will automatically keep the most recent logs and database
|
||
dumps around.
|
||
|
||
* added command line options:
|
||
--sync|-s <mode>
|
||
Temporarily synchronize the active sources in that mode. Useful
|
||
for a 'refresh-from-server' or 'refresh-from-client' sync which
|
||
clears all data at one end and copies all items from the other.
|
||
|
||
--status|-t
|
||
The changes made to local data since the last synchronization are
|
||
shown without starting a new one. This can be used to see in advance
|
||
whether the local data needs to be synchronized with the server.
|
||
|
||
--quiet|-q
|
||
Suppresses most of the normal output during a synchronization. The
|
||
log file still contains all the information.
|
||
|
||
--help|-h
|
||
Prints usage information.
|
||
|
||
--version
|
||
Prints the SyncEvolution version.
|
||
|
||
* default configurations now reference the normal Evolution databases
|
||
("Personal") thus requiring less changes to use. The account information
|
||
is now clearly marked as placeholder which needs to be entered.
|
||
|
||
|
||
SyncEvolution 0.6 -> 0.7-pre1, 17.10.2007
|
||
-----------------------------------------
|
||
* C++ client library: tag "sdkcpp_6_0_9_1" (same as before)
|
||
* added support for Mac OS X/iPhone address book
|
||
* fixed Nokia packaging problem which prevented installation
|
||
via the package manager unless it was in "red pill" mode
|
||
* improved output: less verbose ("extracting" items is now
|
||
logged at debug level and thus not normally shown) and more
|
||
informative printing of changes (table summarizes number of
|
||
changes on client and server, heading for comparison changed
|
||
to make it clear that it shows changes on the client)
|
||
* example configs were in share/share directory (SF #1767329)
|
||
* Nokia 770/800: uninstallable package fixed by setting category
|
||
(SF #1781652)
|
||
* sync with eGroupware - lost or messed up telephones: SyncEvolution
|
||
incorrectly added TYPE=OTHER to phone numbers sent with e.g.
|
||
CELL instead of TYPE=CELL (SF #1796086). Another patch was
|
||
required for eGroupware itself to correctly map phone numbers
|
||
as sent by SyncEvolution, see Compatibility web page.
|
||
* SyncCap is not generated unless syncModes are configured: added
|
||
a comment to example config (SF #1764123)
|
||
* improved error handling: catch errors during post-processing and
|
||
continue
|
||
|
||
|
||
SyncEvolution 0.5 -> 0.6, 13.07.2007
|
||
------------------------------------
|
||
* C++ client library: tag "sdkcpp_6_0_9_1"
|
||
* added support for synchronizing Evolution notes (aka memos) as
|
||
plain text where the first line serves as summary; this is the
|
||
format understood by ScheduleWorld
|
||
* added support for synchronizing Evolution notes (aka memos) as
|
||
iCal 2.0 journal; not currently supported by any server and
|
||
untested
|
||
* revamped example configs and documentation: only one set of
|
||
config files for each server is provided, because this is more
|
||
likely to be needed by users
|
||
* example configs are now installed in share/doc/syncevolution,
|
||
enabled message limit and large object support in them
|
||
* added support for Nokia 770/800 (aka Maemo):
|
||
built with loadable modules so that it works with whatever
|
||
backends are installed, improved log handling to accomodate
|
||
for limited space on filesystem (see below), some workarounds
|
||
* added workaround for Nokia 770:
|
||
contacts are not really deleted unless the EDS-Sync with
|
||
instant messaging servers is activated; now SyncEvolution
|
||
will delete contacts marked as deleted by the GUI before
|
||
a sync if it finds any.
|
||
WARNING: if you use EDS-Sync and SyncEvolution, then give
|
||
EDS-Sync enough time after going online to finish its own
|
||
synchronization of modified/deleted contacts before starting
|
||
SyncEvolution.
|
||
* improved log handling: writing log and database dumps can be
|
||
disabled with "logdir=none", verbosity of log is controlled by
|
||
"loglevel", better handling of errors during initial database
|
||
access
|
||
* added workaround for Evolution bug #455274:
|
||
the separator for multiple categories in events and tasks
|
||
is not generated and interpreted according to iCalendar 2.0
|
||
by Evolution; as a consequence of that items sent to the server
|
||
had all categories merged into one and items imported into
|
||
Evolution only used one of the catories
|
||
http://bugzilla.gnome.org/show_bug.cgi?id=455274
|
||
* fixed off-by-one counting of months in backup directory names
|
||
* fixed error handling: a failed source was not forced into a slow
|
||
sync as required; one failed source prevented saving configs of
|
||
not-failed ones and thus forced those into an unnecessary slow
|
||
sync
|
||
* uses the Funambol C++ testing framework (which is based on the
|
||
previous SyncEvolution testing); now creates its configs
|
||
and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
|
||
also the Evolution databases automatically
|
||
* implemented synccompare as pure Perl script using Algorithm::Diff
|
||
instead of external diff tool
|
||
* synccompare did not figure out width of shell window as it should have
|
||
* better error handling if creating the before/after database dumps
|
||
fails (SF #1685637)
|
||
* workaround for Funambol 3.0 trailing = parser bug
|
||
|
||
UPGRADING
|
||
|
||
Old config files from 0.5 or older continue to work, but it is recommended
|
||
to set the following options to enable message size limits:
|
||
maxMsgSize = 8192
|
||
maxObjSize = 500000
|
||
loSupport = 1
|
||
|
||
|
||
SyncEvolution 0.6pre2 -> 0.6, 13.07.2007
|
||
----------------------------------------
|
||
* improved README/HACKING documents
|
||
* fixed the new example configs: use event/task for Funambol 6.0,
|
||
name was wrong
|
||
* added workaround for Evolution bug #455274:
|
||
the separator for multiple categories in events and tasks
|
||
is not generated and interpreted according to iCalendar 2.0
|
||
by Evolution; as a consequence of that items sent to the server
|
||
had all categories merged into one and items imported into
|
||
Evolution only used one of the catories
|
||
http://bugzilla.gnome.org/show_bug.cgi?id=455274
|
||
* added workaround for Nokia 770:
|
||
contacts are not really deleted unless the EDS-Sync with
|
||
instant messaging servers is activated; now SyncEvolution
|
||
will delete contacts marked as deleted by the GUI before
|
||
a sync if it finds any.
|
||
WARNING: if you use EDS-Sync and SyncEvolution, then give
|
||
EDS-Sync enough time after going online to finish its own
|
||
synchronization of modified/deleted contacts before starting
|
||
SyncEvolution.
|
||
|
||
|
||
SyncEvolution 0.6pre1 -> 0.6pre2, 23.04.2006
|
||
--------------------------------------------
|
||
* C++ client library: tag "sdkcpp_6_0_7" + revision 1.7 of
|
||
build/autotools/test/Makefile.am
|
||
* added support for synchronizing Evolution notes (aka memos) as
|
||
plain text where the first line serves as summary; this is the
|
||
format understood by ScheduleWorld, not the iCal 2.0 format
|
||
added in 0.6pre1
|
||
* improved log handling: writing log and database dumps can be
|
||
disabled with "logdir=none", verbosity of log is controled by
|
||
"loglevel", better handling of errors during initial database
|
||
access
|
||
* fixed off-by-one counting of months in backup directory names
|
||
* fixed error handling: a failed source was not forced into a slow
|
||
sync as required; one failed source prevented saving configs of
|
||
not-failed ones and thus forced those into an unnecessary slow
|
||
sync
|
||
* revamped example configs: only one set of config files for each
|
||
server is provided, because this is more likely to be needed
|
||
by users
|
||
* uses the Funambol C++ testing framework (which is based on the
|
||
previous SyncEvolution testing); now creates its configs
|
||
and (when using CLIENT_TEST_EVOLUTION_PREFIX=file://<path>)
|
||
also the Evolution databases automatically
|
||
|
||
|
||
SyncEvolution 0.5 -> 0.6pre1, 26.03.2006
|
||
----------------------------------------
|
||
* C++ client library: CVS snapshot from 26.03.2006
|
||
* added support for synchronizing Evolution notes (aka memos) as
|
||
iCal 2.0 journal
|
||
* added --enable-static-cxa = linking C++ runtime statically:
|
||
binaries produced for 0.6 will have less external
|
||
dependencies than the 0.5 binaries
|
||
* added hacks for Maemo/Nokia 770, including a build
|
||
mode with dynamically loadable modules (--enable-shared, --enable-maemo,
|
||
--with-patched-dbus)
|
||
* implemented synccompare as pure Perl script using Algorithm::Diff
|
||
instead of external diff tool
|
||
* synccompare did not figure out width of shell window as it should have
|
||
* better error handling if creating the before/after database dumps
|
||
fails (SF #1685637)
|
||
* example configs are now installed in share/doc/syncevolution,
|
||
enabled message limit and large object support in them
|
||
* workaround for Funambol 3.0 trailing = parser bug
|
||
|
||
UPGRADING
|
||
|
||
Old config files continue to work, but it is recommended
|
||
to set the following options to enable message size limits:
|
||
maxMsgSize = 8192
|
||
maxObjSize = 500000
|
||
loSupport = 1
|
||
|
||
|
||
|
||
SyncEvolution 0.4 -> 0.5, 12.11.2006
|
||
------------------------------------
|
||
* C++ client library revision "syncevolution-0-5":
|
||
- added support for sending changes in smaller chunks
|
||
("Large Object Support"): disabled by default, see updated
|
||
example configuration
|
||
- time is printed with GMT offset so that a server admin in
|
||
a different timezone can always figure out how a client log
|
||
relates to events on the server
|
||
- special item keys as they might be stored in some calendars after
|
||
importing non-Evolution events are now properly supported
|
||
* bug fix: in 0.4 it was necessary to manually configure the verDTD
|
||
or the Funambol 3.0a server would choke on the invalid SyncML during
|
||
the second synchronization with SyncEvolution; now this option is set
|
||
automatically
|
||
* added support and testing of transmitting just the changes
|
||
from client to server or vice versa; see "one-way-from-server/client"
|
||
in example configuration
|
||
* fixed/updated comments in the example configuration
|
||
* improved automated testing and fixed the problem that CPPUnit was not
|
||
found unless it was part of the system
|
||
* Now works on Maemo/Nokia 770: minor changes were necessary so that
|
||
the system address book can now be selected under the name "<<system>>.
|
||
Copying 300 contacts into the Nokia 770 went fine, but any further
|
||
attempt to synchronize suffered from timeouts inside the embedded
|
||
Evolution Data Server.
|
||
|
||
|
||
SyncEvolution 0.3 -> 0.4, 11.09.2006
|
||
------------------------------------
|
||
* C++ client library revision "syncevolution-0-4":
|
||
- added support for device information, required by some servers
|
||
- fixed incompatibilities with non-Funambol servers
|
||
- the user agent string can now be modified in the
|
||
spds/syncml/config.txt, but it is recommended to not set
|
||
it explicitly. Then SyncEvolution will automatically insert
|
||
its current version.
|
||
- #305795: for tasks the "text/x-todo" type from the configuration
|
||
was sent to servers instead of the correct "text/calendar"
|
||
provided by SyncEvolution itself
|
||
- sync modes "refresh-client/server" can now be specified as
|
||
"refresh-from-client/server" in the config
|
||
* updated default syncml/config.txt:
|
||
- firstTimeSyncMode has never been implemented in the library,
|
||
removed its documentation,
|
||
- added documentation for userAgent
|
||
- use "refresh-from-client/server"
|
||
* SF issue 1511951: support copying changes back from EGroupware
|
||
server by not expecting the UID of calendar items to be unmodified
|
||
* fixed a bug where after a refresh-from-client sync changes would
|
||
be sent to the server again during a two-way sync although the
|
||
server already had them
|
||
* implemented authentication for Evolution databases
|
||
* synccompare was removing too many parts of vCards with
|
||
single-value ORG properties
|
||
* improved error reporting when selected server is not configured
|
||
* changed vCard parser to make it compatible with servers
|
||
which send a verbatim semicolon as part of properties where
|
||
the semicolon has no special meaning
|
||
* If minor errors occur like not being able to insert an
|
||
item at the client or server side, then it is reported in the
|
||
log and output, but the next synchronization will be a normal
|
||
synchronization, not a forced slow one as in previous versions.
|
||
The old approach ensured that the problem was noticed and fixed,
|
||
but required user assistance. With the new approach synchronization
|
||
continues to work, although without fixing the root cause of
|
||
the problem.
|
||
* Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
|
||
for calendars and task lists not all deleted items were reported
|
||
at once thus a single synchronization would only tell the server
|
||
about a subset of the changes. Repeating the synchronization would
|
||
eventually be told of all changes, so now this repetition is built
|
||
into the code which queries for changes and a single synchronization
|
||
is sufficient as it should be.
|
||
|
||
|
||
SyncEvolution 0.4 pre2 -> 0.4, 11.09.2006
|
||
-----------------------------------------
|
||
* adapted to C++ client library from CVS head, tagged as syncevolution-0-4:
|
||
devinfo.patch patch was merged with several changes to the API
|
||
* SF issue 1511951: support copying changes back from EGroupware
|
||
server by not expecting the UID of calendar items to be unmodified
|
||
|
||
|
||
SyncEvolution 0.4 pre1 -> pre2, 21.08.2006
|
||
------------------------------------------
|
||
* C++ client library revision "syncevolution-0-4-pre2":
|
||
most patches were merged into CVS head, but .patches/devinfo.patch
|
||
still needs to be applied manually when checking out from the
|
||
Funambol CVS instead of using the bundled version
|
||
* fixed a bug where after a refresh-from-client sync changes would
|
||
be sent to the server again during a two-way sync although the
|
||
server already had them
|
||
* implemented authentication for Evolution databases
|
||
* synccompare was removing too many parts of vCards with
|
||
single-value ORG properties
|
||
* improved error reporting when selected server is not configured
|
||
* use 7-bit quoted-printable encoding with explicit UTF-8 charset for
|
||
vCard 2.1 to avoid any potential confusion about the content; not
|
||
really necessary because SyncML specifies 8-bit UTF-8 as the default
|
||
* fix for 0.4 pre 1: sending CHARSET is not allowed (and not
|
||
needed) for vCard 3.0, so it was removed again (did not harm
|
||
either)
|
||
* fix for 0.4 pre 1: sending vCard 2.1 to Synthesis server did
|
||
not work because the new device info always mentioned 3.0 as
|
||
the preferred format - now the preferred format matches the one
|
||
that was configured and that thus will be used.
|
||
|
||
|
||
SyncEvolution 0.3 -> 0.4 pre 1, 2006-08-06
|
||
------------------------------------------
|
||
* C++ client library revision "funambol30ga" plus the patches
|
||
stored in its ".patches" directory:
|
||
- the user agent string can now be modified in the
|
||
spds/syncml/config.txt, but it is recommended to not set
|
||
it explicitly. Then SyncEvolution will automatically insert
|
||
its current version.
|
||
- now compatible with additional servers (fixed some SyncML
|
||
protocol issues, added support for sending device
|
||
information)
|
||
- revised API of the client library
|
||
- #305795: for tasks the "text/x-todo" type from the configuration
|
||
was sent to servers instead of the correct "text/calendar"
|
||
provided by SyncEvolution itself
|
||
- sync modes "refresh-client/server" can now be specified as
|
||
"refresh-from-client/server" in the config
|
||
* updated default syncml/config.txt:
|
||
- firstTimeSyncMode has never been implemented in the library,
|
||
removed its documentation,
|
||
- added documentation for userAgent
|
||
- use "refresh-from-client/server"
|
||
* changed vCard parser to make it compatible with servers
|
||
which send a verbatim semicolon as part of properties where
|
||
the semicolon has no special meaning
|
||
* If minor errors occur like not being able to insert an
|
||
item at the client or server side, then it is reported in the
|
||
log and output, but the next synchronization will be a normal
|
||
synchronization, not a forced slow one as in previous versions.
|
||
The old approach ensured that the problem was noticed and fixed,
|
||
but required user assistance. With the new approach synchronization
|
||
continues to work, although without fixing the root cause of
|
||
the problem.
|
||
* Workaround for bug in Evolution 2.0.6 (and perhaps other versions):
|
||
for calendars and task lists not all deleted items were reported
|
||
at once thus a single synchronization would only tell the server
|
||
about a subset of the changes. Repeating the synchronization would
|
||
eventually be told of all changes, so now this repetition is built
|
||
into the code which queries for changes and a single synchronization
|
||
is sufficient as it should be.
|
||
* Made it compile on Maemo 2.0, the Nokia 770 build environment, by
|
||
adding "--disable-ecal". Not tested yet, though.
|
||
|
||
|
||
SyncEvolution 0.3, 2006-06-27
|
||
-----------------------------
|
||
|
||
* added syncing of calendars and tasks as iCalendar 2.0
|
||
* added syncing of contacts as vCard 3.0
|
||
* tested extensively with sync.scheduleworld.com and
|
||
added an example configuration for it
|
||
* uses C++ client library revision "wmplugin_3_0_20"
|
||
which contains several bug fixes, among them proper
|
||
support for special characters and memory handling
|
||
fixes
|
||
* much nicer listing of changes made during a sync,
|
||
handled by the improved "synccompare" utility script
|
||
(formerly known as "normalize_vcard")
|
||
* improved automated testing
|
||
|
||
|
||
SyncEvolution 0.2, 2006-03-19
|
||
-----------------------------
|
||
|
||
* added automatic backup mechanism and log storage,
|
||
see "Automatic Backups and Logging".
|
||
* output no longer is the original log data, but rather
|
||
a human-readable report of errors and synchronization
|
||
results.
|
||
* "normalize_vcard" can now also compare two .vcf files
|
||
directly.
|
||
* improved unit tests to catch more errors
|
||
* hide certain differences in vcards coming back from
|
||
the server: duplication of extended vcard properties,
|
||
missing TYPE=OTHER
|
||
* fixed client library problems:
|
||
see http://forge.objectweb.org/tracker/?group_id=96&atid=100096
|
||
#304792, #304829
|
||
* added some more problems to the "Known Problems" section
|
||
|
||
|
||
SyncEvolution 0.1, 2006-03-13
|
||
-----------------------------
|
||
|
||
* initial release
|