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

Reply via email to