You at Celix
Source code and builds
How it works
Code of Conduct
Edit on GitHub
<< back to documentation
Noteworthy changes for 2.3.0 (2022-07-10)
Support for Conan package manager
Async api to (un0)register services, track services, track bundles and create/remove components.
Celix Promises (experimental)
Celix PushStreams (experimental)
C++ Remote Service Admin (experimental)
multi build type support
Added celix_ api for
long and string hash map
Added C++17 api for
BundleContext (service registration, service trackers, use services, bundle trackers)
Wire protocol service support
Refactored message serialization
Too many to mention
Changes for 2.2.1 (2020-05-10)
Fixes etcdlib CMake setup to that etcdlib can be build as a separate project
Noteworthy changes for 2.2.0 (2020-01-06)
PubSub TCP (donation)
PubSub Avro bin serializer
PubSub Websocket (donation)
HTTP Admin (donation)
Shell Web UI (using HTTP Admin)
CELIX-438: Refactored celix api so that include files and symbols have a _celix “namespace”
CELIX-459: Adds PubSub health/usage monitoring
CELIX-467: Adds doxygen generation
Refactored etcdlib to supported multiple instances
CELIX-410: Fixes issue with property loader duplicating spaces and tabs
CELIX-454: Fixed race condition in the etcd pubsub discovery
CELIX-460: Fixed issue with msg not found in pub/sub serializer map due to signed/unsigned difference
CELIX-466: Fixed race condition Race condition in adding/removing service listener hooks
Noteworthy changes for 2.1.0 (2018-01-24)
CELIX-408: Adds support for generating runtime shell scripts so that multiple Celix containers and other executable can be run with a single command.
CELIX-418: Adds support for generating properties in the Celix container launcher.
CELIX-407: Adds support for serializers as a service for PubSub. This way PubSubAdmin are purely focused on transport techniques.
CELIX-401: Adds support for creating Celix docker images using a CMake function.
CELIX-397: Adds support for PubSub selection based on a match function. This way multiple PubSubAdmin can be active.
CELIX-389: Adds the PubSub implementation. A set of bundles which together operates as a service based publish subscribe technology agnostic abstraction.
CELIX-385: Adds etcdlib as library. This libray can be used to communicate with etcd using a C abstraction.
CELIX-370: Adds C++11 support by adding a C++ Dependency Manager library. This is moslty a header based library.
CELIX-415: Improves handling of ANSI control sequences to better support running in IDE’s.
CELIX-414: Improves support for running Celix container inside IDE’s by basicly handling Celix containers as add_executable CMake target.
CELIX-406: Improves handling of descriptor files, by allowing different directories for Remote Services and PubSub.
CELIX-399: Improves PubSub to use etcdlib instead of local copy of etcd.c file.
CELIX-396: Improves the ZMQ PubSub security so that enabling/disable of security can be done per topic.
CELIX-395: Improves Remote Service to use the etcdlib instead of a local etcd.c file.
CELIX-392: Removes the use of the deprecated readdir_r function.
CELIX-416: Fixes an issue for the Android build.
CELIX-410: Fixes an issue where spaces and tabs are duplicated when loading properties.
CELIX-405: Fixes an issue with crashes because of invalid DFI descriptors.
CELIX-404: Fixes an issue with crashes using the inspect shell command.
CELIX-403: Fixes an memory leak in the service tracker.
CELIX-400: Fixes an issue with private libraries being loaded twice.
CELIX-398: Fixes an issue with PubSub and multiple UDP connections.
CELIX-393: Fixes an issue with the add_bundle CMake function and using existing libaries.
CELIX-391: Fixes an issue with the utils_stringHash not genering unique (enough) hashes.
CELIX-390: Fixes an issue with cycle dependency between the Celix framework and Celix utils libraries.
CELIX-387: Fixes an issue with the travis build and OSX
CELIX-386: Fixes an issue with the C++ dependency manager and register multiple C++ services.
Changes for 2.0.0 (2016-10-26)
CELIX-77 Configuration Admin Implementation
CELIX-116 Event admin
CELIX-119 Remove apr usage from framework
CELIX-172 Bonjour Shell
CELIX-237 RSA with libffi
CELIX-269 New Dependency Manager
CELIX-370 Add C++ support
CELIX-63 make cmake directory useable for custom bundle projects
CELIX-66 Refactor shell service struct
CELIX-90 add additional build options for RSA components
CELIX-111 Support multiple libraries
CELIX-115 logservice bundle entries list grows indefinitely
CELIX-118 Deployment Admin - Support auditlog of Apache ACE
CELIX-123 enable code coverage for utils_test
CELIX-125 CMakeCelix module
CELIX-134 Update source from incubator structure to TLP
CELIX-138 Parameterise launcher
CELIX-144 Document Developing Celix with Eclipse
CELIX-146 Replace printfs wit fw_log calls
CELIX-149 Add log_writer_syslog
CELIX-152 Added Discovery/ETCD support
CELIX-153 add cmake configuration options for rsa_bundles
CELIX-156 Enable all warnings
CELIX-158 RSA is unable to re-use already started proxy factory
CELIX-165 Add port collision auto-correction to RSA
CELIX-169 Add port collision auto-correction to discovery
CELIX-182 loghelper eases log_service tracking
CELIX-187 discovery_etcd: add watchindex, handle expire action
CELIX-193 support portable celix_thread_t initalization
CELIX-199 Code Coverage should be optional rather than required by cmake
CELIX-200 SEGFAULT occurs when remote services are closed
CELIX-216 Replace strtok with strtok_r
CELIX-230 Refactoring of the shell command service
CELIX-242 Fix Warnings
CELIX-245 Update civetweb to latest version
CELIX-246 enable Travis CI for Apache Celix
CELIX-247 Enable ANDROID support
CELIX-249 Refactor most char * usage to const char *
CELIX-251 missing includes in device access example
CELIX-255 Update default BUILD option
CELIX-258 framework uses dlopen/dlsym to set the bundleActivator
CELIX-259 dispatcherThread does not perform a graceful shutdown
CELIX-275 Can’t do mkstemp on root system (deploymentAdmin_download)
CELIX-278 Adding tags to ACE target through deployment admin
CELIX-284 Restrict export and imports based on properties
CELIX-285 Discovery SHM: remove obsolete jansson dependency
CELIX-295 Many compiling warnings in unit tests
CELIX-296 Framework unit tests improvement
CELIX-309 Make DFI available for common use
CELIX-317 Dependency Manager suspend state
CELIX-320 outdated utils tests (threads, hashmap)
CELIX-323 Version and version_range moved from framework to utils
CELIX-326 Add service version support to dependency manager
CELIX-327 Filter does not support greater than and lesser than operators
CELIX-328 Service version support for RSA DFI
CELIX-330 document using markdown
CELIX-333 integrate coverity scans
CELIX-335 Refactor deploying bundles with cmake
CELIX-339 celix_log_mock doesnt show logs to the user
CELIX-341 Fix coverity issues in Shell / Shell TUI
CELIX-348 The utils_stringHash does not generate unique hashes.
CELIX-352 RSA_DFI and embedded celix
CELIX-353 Make bundle context retrievable form dm component
CELIX-365 Refactor some usage of void* to const void*
CELIX-104 deployment_admin bundle won’t start when missing properties
CELIX-105 Fixed array_list_test
CELIX-114 Potential deadlock in log_service bundle during stop
CELIX-122 missing dependency uuid
CELIX-124 Celix memory leaks fixing
CELIX-127 Makefiles not generated using CMake 3.0
CELIX-128 remote_shell port cannot be changed
CELIX-129 Update RSA to be compatible with the Amdatu RSA implementation
CELIX-130 Implement Configured Endpoint discovery compatible with Amdatu RSA
CELIX-136 contrib Configured endpoint discovery
CELIX-137 Possible concurrency issues in topology manager
CELIX-139 Update tests and mocks to latest CppUTest
CELIX-147 RSA_SHM: concurrency issue when client segfaults
CELIX-150 Topology Manager segfaults when RSA/bundle w/ exp. service stops in wrong order
CELIX-154 echo exampe not working
CELIX-155 Fix CMake warnings during configuration
CELIX-157 service_reference misses functions to get property keys and values
CELIX-159 PThread usage not correct for Linux
CELIX-161 newly added RSA cannot manage already exported/imported services
CELIX-162 Update encoding/decoding of replies.
CELIX-167 Update command to be able to pass a pointer (handle)
CELIX-168 discovery_etcd:Make root-path configurable
CELIX-170 Remote services can fail to restart when felix restarts
CELIX-173 stopping rsa_http bundle does not stop rsa webserver
CELIX-174 invalid bundle_context during fw shutdown
CELIX-175 segfault during shutdown when calculator is already stopped
CELIX-177 not all endpoints are unistalled when rsa_http bundle is stopped
CELIX-178 Shell_Tui bundle hangs on stop
CELIX-179 memory leak in rsa_http callback
CELIX-180 framework_tests do not compile
CELIX-181 Incorrect reply status when no data is returned on a remote call.
CELIX-185 Memory leaks in Discovery Endpoint Descriptor Reader
CELIX-186 deployment_admin segfaults while downloading bundle
CELIX-188 Add missing log_service headers to installations
CELIX-189 LogService segfaults when log message pointer is overwritten
CELIX-190 remote services memory leaks
CELIX-192 rsa_http: add locking
CELIX-194 Refactor RemoteService proxy factory
CELIX-195 SEGFAULT occurs when running a log command.
CELIX-197 insufficient memory allocated
CELIX-198 Logging can segfault for strings 512 characters or longer
CELIX-201 SEGFAULT occurs when restarting apache_celix_rs_topology_manager
CELIX-202 Not all components are disabled with a clean build
CELIX-205 RSA Discovery (Configured) bundle gets stuck
CELIX-213 SEGFAULT occurs due to memory access after memory is free’d
CELIX-215 curl_global_init() not called directly
CELIX-218 Memory leaks in service_registry.c
CELIX-219 Memory Leaks
CELIX-221 Deployment admin segfaults when deploying a bundle
CELIX-223 Celix crashes because of wrong bundle versions
CELIX-224 Wrong use of errno in launcher.c
CELIX-226 __unused atttibute does not work with Linux
CELIX-227 compile error under linux due to missing header include
CELIX-229 Make APR optional
CELIX-231 Missing log_helper creation in discovery_etcd
CELIX-238 Contributing page links incorrect
CELIX-239 TopologyManager does not maintain exportedServices
CELIX-240 RSA: deadlock when stopping
CELIX-241 remote_interface incorrect
CELIX-248 too many arguments for format
CELIX-250 config.h is not exported
CELIX-252 discovery_etcd cannot handle celix restarts
CELIX-253 Deployment admin does not always download the latest version from ACE
CELIX-254 Memory leakage in deployment_admin
CELIX-260 missing include in deployment admin
CELIX-262 Fix minor issues in hashMap/linkedList
CELIX-263 replace utils cunit tests w/ cpputest tests
CELIX-264 Missing strdup leads to invalid free
CELIX-270 Fix Code Coverage
CELIX-271 setup coveralls.io
CELIX-272 framework: improve locking / synchronization
CELIX-274 waitForShutdown issue when starting two embedded celix frameworks.
CELIX-279 Celix fails to compile w/ CMake 3.3
CELIX-280 deployment_admin misses proper shutdown functionality
CELIX-287 racecondition for framework event listener
CELIX-288 Archive directory not properly read
CELIX-289 Fix celix mocks
CELIX-290 Mock fixes, CMakelist fix, build warning fix
CELIX-292 Memory leak in refactored shell
CELIX-294 changed dfi library from static to shared
CELIX-298 Memory leaks in rsa_dfi
CELIX-300 Invalid read in serviceRegistry during framework_shutdown
CELIX-301 Memory leaks in rsa_shm
CELIX-302 Service Tracker Test error breaks the build
CELIX-304 Memory leaks in manifest parser, requirement, capability; out-of-date tests
CELIX-305 Memory leaks in RSA_SHM, RSA_DFI, RSA_HTTP
CELIX-306 Memory leaks in remote_proxy_factory, unit tests issues
CELIX-307 “service registration set properties” deadlocks
CELIX-308 Dependency Manager memory leaks
CELIX-310 “serviceRegistry_getRegisteredServices” deadlocks
CELIX-311 Framework Tests Build broken
CELIX-312 ServiceReference usage counter inconsistent state
CELIX-313 out of date/defunct tests
CELIX-316 Wrong conversion for ‘N’ type in json_serializer
CELIX-322 Memory leaks in resolver and framework tests
CELIX-324 Version support in dfi library
CELIX-325 Bundle test sporadicly fails
CELIX-329 framework “service_” tests are outdates, some small bugs in the sources
CELIX-331 test configuraiton needs update for newer CMake
CELIX-332 filter tests absent, small bugs in the source
CELIX-334 Race Condition in Topology Manager causes spurious segfaults
CELIX-336 resolver_test doesn’t compile
CELIX-343 configuration_unbind never called
CELIX-344 service tracker removes wrong service
CELIX-345 Typo in Dependency Manager interface
CELIX-346 celix-bootstrap problems
CELIX-347 Memory leaks in dm_service_dependency
CELIX-349 ServiceTracker update references list after invoking added callback
CELIX-350 shell_tui wrong handling service reference
CELIX-354 Coverity High Impact issues
CELIX-356 Import libraries not supported in revamped cmake commands
CELIX-357 Coverity Medium Impact issues
CELIX-358 Coverity Low+New High Impact issues
CELIX-359 Android build stopped working
CELIX-360 Coverity leftover issues
CELIX-361 etcd_watcher notifications loss when ETCD transaction rate is high
CELIX-363 Memory leak in DFI exportRegistration_create
CELIX-364 Incorrect destroy of dependency manager info struct
CELIX-366 eclipse launch file not correctly generated
CELIX-367 Memory leak in properties
CELIX-369 Tests fail with sanitizer
CELIX-371 Due to a fixed maximum length of lines in property file not all bundles are started
CELIX-372 serviceRegistry_clearReferencesFor warning info unclear
CELIX-373 Endpoint Server number is fixed and too low
CELIX-374 RTLD_NODELETE flag
CELIX-375 Topology manager deadlocks when interacts with dependency manager
CELIX-377 wrong rpath setup in CMake files
CELIX-378 Travis build errors on Max OSX
CELIX-379 Extend cmake fucntion add_deploy with an option to specify the launcher
CELIX-376 serviceRegistration sometimes paired to invalidated serviceReference
CELIX-380 PROPERTIES_FOR_EACH macro does not iterate over all keys
CELIX-381 Invoke set for dependency manager called before suspending the component