1877 lines
83 KiB
Plaintext
1877 lines
83 KiB
Plaintext
SyncEvolution 0.9.x -> 1.0 alpha 1, 02.12.2010
|
||
==============================================
|
||
|
||
A development snapshot, released "because we can" :-)
|
||
|
||
In particular, we can:
|
||
* 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
|
||
* be reasonably sure that it compiles and runs as well as 0.9.x because
|
||
it passes the same nightly testing without known regressions
|
||
|
||
The main goal of this release is 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.
|
||
|
||
This is definitely work in progress. Only a source snapshot is made
|
||
available, not the usual set of binaries. If you can, compile the latest
|
||
source directly from the git repositories and recheck before reporting
|
||
issues: http://syncevolution.org/development
|
||
|
||
Documentation is lacking at the moment. Watch the "Development"
|
||
section (http://syncevolution.org/development) for HOWTOs or ask on
|
||
the mailing list (http://syncevolution.org/support). Contributions
|
||
welcome, as always.
|
||
|
||
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
|
||
|
||
Implemented features are marked with a plus +, open ones with a minus -.
|
||
|
||
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
|
||
- the design is a bit tentative and not all of it is implemented;
|
||
for example, the triangle in front of server entries cannot
|
||
be used to unfold the entry, only the "setup now" button does
|
||
that (MB #8315)
|
||
- recovery features like restoring from backup and handling of
|
||
unexpected slow syncs (MB #2416) are missing
|
||
|
||
Redesigned and reimplemented D-Bus API:
|
||
+ 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)
|
||
- waiting for peer not reported over D-Bus and not shown in sync-ui (MB #2229)
|
||
- interactive password request not implemented yet (MB #6376)
|
||
- availability of peers not detected (connected for HTTP, paired for
|
||
Bluetooth; MB #7700)
|
||
- once started, syncevo-dbus-server keeps running forever (MB #7711)
|
||
- restoring backups only possible via command line (MB #8144)
|
||
|
||
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
|
||
- 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)
|
||
- suspend/resume support is untested (MB #2425)
|
||
- an HTTP client which stops sending messages blocks the
|
||
server forever (MB #7710)
|
||
- 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 serverexample 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
|
||
- a configuration must be created for each peer manually, including
|
||
a syncURL that contains the peer's MAC address (MB #7838) and correct
|
||
settings for generating the SAN message (MB #7871)
|
||
- 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, not released yet
|
||
==============================================
|
||
Synthesis SyncML Engine version: see src/synthesis/ChangeLog
|
||
|
||
Incremental update, with several updated translations and addressing
|
||
most of the issues reported by users for 0.9.1:
|
||
|
||
- 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.
|
||
|
||
- autotools + Boost: --with-boost had no effect (MB#7856)
|
||
|
||
- configure: detect incorrect use of --with-synthesis-src
|
||
|
||
- 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/
|
||
|
||
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
|