OpenSync 0.35 Release Notes
Yet another experimental OpenSync release for developers, testers and for packagers. OpenSync? 0.40 is coming more closer (still !).
I would like to thank Bjoern Ricks for the cmake upgrades to FindPkgConfig? and numerous fixes to them. Felix Möller, who is helping a lot with cleaning up the still remaining tickets. Michael Bell who is doing a hard work on libsyncml though not included in this release as they will take longer to stabilize. Michael Banck for the libcheck fixes and helping closing tickets. And obviously Daniel Gollub for his work on the core, a whole bunch of patches review (if something works thanks him ... otherwise blame me !) and Christopher Stender for the format plugin work (recurring events under way, broadly keeping it clean for every plugins to use).
The build environment is CMake. It's recommend to build out of the source,
since we don't test in build source builds:
mkdir -p build/libopensync; cd build/libopensync; cmake -DCMAKE_INSTALL_PREFIX=/your/prefix/ /path/to/opensync/source/ make make install
For 64bit systems you should add -DLIB_SUFFIX=64
cmake -DLIB_SUFFIX=64 -DCMAKE_INSTALL_PREFIX=/your/prefix/ /path/to/opensync/source/
If you're building OpenSync in a separated location, you should set PKG_CONFIG_PATH as usual so the plugins find your opensync build in this custom location.
For further information about CMake you should check:
We're all new to CMake, if you're more experienced about CMake, our even one of the developers, please give us some feedback what could be done in a better way. We provide some CMake Macros to make the build environment of the as easy as possible. For example: OPENSYNC_PLUGIN_ADD(), OPENSYNC_FORMAT_ADD(), OPENSYNC_ADD_TEST() and OPENSYNC_PACKAGE().
Next steps:
- Solve plain and xmlformat-$objtype-doc detectors issues
- Review OpenSync API
- Shrink OpenSync API
- " (12) In protocol design, perfection has been reached not when there is nothing left to add, but when there is nothing left to take away." - [RFC1925], OpenSync isn't a protocol, but i guess this fits as well.
- Discuss if we should split helpers like time format, hashtable and so on which aren't used by the OpenSync core, in to a separated shared library. Those helpers are more likely to get changed in future.
- Prepare facilities for update process from 0.40 to further versions.
- Versioning of OpenSync shared directories, like descriptions, schemas and capabilities directories and plugin directories.
- Common XSD for all plugins(?)
- Finish vformat plugin and fix the XSD Schemas of XMLFormat-*:
- Testing cases are building again, but non of the unit tests pass to 100%, we should fix them.
- Write two-way-converter testcase which test user supplied vformat files
- Our unit test framework is great and very important! But still two testcases are failing:
- engine_sync_stress
- stress test timeouts (at least on my slow machine) we should do some performance profiling. Maybe we can tweak the osync_obj_engine_initialize() call or call it with osync_engine_initialize() so the mapping table don't have to be loaded on every osync_engine_synchronize() call. Another thing is the archive - the sqlite calls take a lot. There is even one call which makes use of a sub-select which have to get rid of.
- client_run
- testcase times out - a fix is underway
- engine_sync_stress
- Improve our unit tests with the help of code coverage
- Cleanup bug tickets
- Felix Möller is doing already a very nice job. If you have a ticket which is still open, please review if you still can reproduce this with 0.35.
- Testing, testing and testing
- Add capabilities support for plugins
- Testing, testing and testing
- Make a major release 0.40
Released tarballs can be found at, this time including .tar.gz as well: http://www.opensync.org/download/releases/0.35/
