Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a framework to develop (dynamic) modular software applications using component and/or service-oriented programming.
Apache Celix is primarily developed in C and adds an additional abstraction, in the form of a library, to support for C++.
Modularity in Apache Celix is achieved by supporting - run-time installed - bundles. Bundles
are zip files and can contain software modules in the form of shared libraries. Modules
can
provide and request dynamic services, for and from other modules, by interacting with a provided bundle
context. Services
in Apache Celix are "plain old" structs with function pointers or "plain
old C++ Objects" (POCO).
14-July-2022 - After a successful vote Celix 2.3.0 is released.
17-May-2020 - After a successful vote Celix 2.2.1 is released.
09-Jan-2020 - After a successful vote Celix 2.2.0 is released.
30-Jan-2018 - After a successful vote Celix 2.1.0 is released.
26-Oct-2016 - After a successful vote Celix 2.0.0 is released.
16-Jul-2014 - After a successful graduation vote Apache Celix has graduated to a top-level project.
25-Feb-2014 - After a successful vote Celix 1.0.0.incubating is released. The release is now available via the download section.
16-Dec-2012 - After a successful vote Celix 0.0.1-incubating is released.