Hi All, It has been a while since the last Celix release and I think it is time to prepare for the next release.
One of the recent changes is that Celix now also has C++ support. The C++ support is done by a header-only C++17 implementation that is built on top of the Celix C framework and utils libraries. A benefit of a header-only C++ implementation is that the Celix framework and utils libraries can be kept pure C libraries and thus no unwanted C++ dependency is introduced for C only users. The reason why I did not propose a release earlier, also has to do with C++ support and specifically which version of C++ (C++11, C++14, C++17 or maybe even C++20) to support. Releasing a new Celix version earlier could have meant we were "stuck" with C++11 or we needed to release a major (backwards incompatible) update. Another change is that celix now handles all service registration, service un-registration, service tracker start and service tracker stop events on a single Celix event thread. This was done to be able to prevent multithreading programming for users in certain situations. Please note that this is a deviation from the OSGi spec. Additionally to new features in the framework and utils libraries, there are also other new features: - Celix::Promise library. This is an implementation and adaptation of the OSGi Promises specification [1]. Note this lib is still experimental. - Celix::PushStreams library. This is an implementation and adaptation of the OSGi Push Stream specification [2]. Note this lib is still experimental. - Celix::ShellCxx bundle. A C++ implementation of the Celix::shell which also supports a C++ Shell Command interface. - C++ Remote Service Admin bundles. A set of bundles which is an implementing and adaptation of the OSGi Remote Service Admin specification [3]. - Support for multiple cmake build types (Debug, RelWithDebInfo) [1] https://docs.osgi.org/specification/osgi.cmpn/7.0.0/util.promise.html [2] https://docs.osgi.org/specification/osgi.cmpn/7.0.0/util.pushstream.html [3] https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html Lastly, a lot of stability improvements were added and a lot of bugs were fixed. Before releasing I would like to update some of the documentation and I am currently busy with preparing a pull request for that. Are there any other requests, remarks or things that need attention concerning a new Celix release? Greetings, Pepijn
