|
From: Bjo. R. <bjo...@go...> - 2009-09-21 16:38:51
|
Hi everyone,
after a long time we finally released OpenSync 0.39. This will be the
last experimental release before 0.40. You can find the details in the
release notes.
Release Notes:
Yet another E.X.P.E.R.I.M.E.N.T.A.L. release of OpenSync. This release
is intended for developers, testers and for packages. OpenSync 0.3x
releases aren't intended to be stable. We don't recommend this release
for productive use. We don't recommend this release to be packaged as
part of a distribution.
--- end of sad/scary disclamer ---
This is our last release until the next stable release. The complete API
was examined and should be stable.
Changes since last release:
* Updates and improvements in the API documentation based on doxygen
(ticket #755). Moved doxygen annotations from the source files to the
headers (ticket #898)
* Shrinked the public API. Less public interfaces for plugins and
applications.
* Removed XML format from OpenSync core. Now XML format is
maintained separately
* Reference counting for all OpenSync modules (#978)
* Sync plugin API changes
o Introduce optional plugin sink function "connect_done". This
plugin function gets called after connect() and before get_changes().
o Removed "write" function. This plugin function was never
used inside the engine and just causes confusion. Currently there is
also no need for a "sync framework" to do "single writes" out of sync order
* Format plugin API changes
o Implemented optional "validation" format plugin function.
This function is intended to get called after each format conversion
which end in the format plugin specific format, which provide such
validation function (#910)
o Introduced osync_objformat_set_finalize_func and
osync_objformat_set_initialize_func for the public API. Those function
allow to register format-plugin specific initalize/finalize functions.
Which get called when the format-plugin get loaded by the
format-environment. This function allow to allocated user-data which
will be passed with all format-plugin calls. And must get released
within the finalize call.
o Changed all format specific function signatures to pass a
void *user_data pointer. Now it is possible to create format specific
data in initialize which gets passed to all other format functions (#1019)
o Introduced caps_converter function osync_bool (*
OSyncFormatCapsConverterFunc) (OSyncCapabilities *oldcaps,
OSyncCapabilities **newcaps, OSyncError **error); (#1146)
o Dropped merge/demerge function. Now merge/demere is
independent of formats (#1084)
* New IPC implementation by Graham Cobb
* Support for ObjType mixing in OSyncEngine (#992)
* Multiply callback for synchronization forecast (#850)
* Format independent use of merge/demerge via new OSyncCapabilities
and OSyncMerger (#1084)
* Common list pattern for all OpenSync modules (#975)
* Dropped file location from OSyncHashtable interface (#1082 and #1083)
* Dropped file location from OSyncAnchor interface
* Key=value pattern for OSyncAnchor (#1090)
* Replace OSyncAnchor with OSyncStateDB (#1091)
* Improved exception handling in all OpenSync modules (#1087)
* Started to write new OpenSync API usage examples for 0.40 API (#972)
Next steps:
* Bugfixing: Open Tickets for 0.40
* Testing
* Review the internal API
* Complete the API documentation
* Finishing OpenSync Whitepaper
* Porting other plugins to latest changes for 0.3X
Release tarballs:
http://opensync.org/download/releases/0.39/
Thanks to everyone for actively contributing to the OpenSync project by
testing, writing code, updating tickets and keeping the project alive!
|