title |
---|
Changes |
- Deployment Admin bundle has been removed and is no longer supported.
- The libs
dependency_manager_static
,shell_dm
anddependency_manager_cxx_static
are removed. These libraries are not needed anymore. The dependency manager is an integral part of the framework lib and thedm
command is part of the standard shell commands. - Shell v2 api is removed and no longer supported.
- Logging v2 api is removed and no longer supported.
- Bonjour Shell bundle is removed and no longer supported.
- pubsub_serializer.h is removed and no longer supported. Use pubsub_message_serialization_service.h instead.
- C++11 support for dm is removed. C++14 is now the minimum required version.
- C++17 string_view support is removed from the utils and framework lib.
- Apache Celix CMake container & bundle functions without a celix_ prefix or infix are removed.
- Apache Celix CMake support for creating docker images and creating runtimes dirs is removed.
- Support and usage of "service.lang" service property is removed.
- Rename of
CELIX_FRAMEWORK_FRAMEWORK_CACHE_DIR
config property toCELIX_FRAMEWORK_CACHE_DIR
. - Rename of
OSGI_FRAMEWORK_FRAMEWORK_UUID
config property toCELIX_FRAMEWORK_UUID
. - Support for OSGI_FRAMEWORK_* config properties are dropped. Use CELIX_FRAMEWORK_* instead. This includes:
Note this includes the
OSGI_FRAMEWORK_FRAMEWORK_STORAGE
("org.osgi.framework.storage") config property, which has been replaced with theCELIX_FRAMEWORK_CACHE_DIR
config property.- The
OSGI_FRAMEWORK_OBJECTCLASS
("objectClass") service property, replacement isCELIX_FRAMEWORK_SERVICE_NAME
. - The
OSGI_FRAMEWORK_FRAMEWORK_STORAGE
("org.osgi.framework.storage") config property, replacement isCELIX_FRAMEWORK_CACHE_DIR
. - The
CELIX_FRAMEWORK_FRAMEWORK_STORAGE_CLEAN_NAME
("org.osgi.framework.storage.clean") config property, replacement isCELIX_FRAMEWORK_CLEAN_CACHE_DIR_ON_CREATE
. - The
OSGI_FRAMEWORK_UUID
("org.osgi.framework.uuid") config property, replacement isCELIX_FRAMEWORK_UUID
.
- The
- Removed support for bundle activator symbols without a
celix_
prefix. - Removed service property constant
CELIX_FRAMEWORK_SERVICE_PID
. - Support and usage of "service.lang" service property is removed.
- pubsub_serializer.h is removed and no longer supported. Use pubsub_message_serialization_service.h instead.
- C Properties are no longer a direct typedef of
hashmap
. - celix_string/long_hashmap put functions now return a celix_status_t instead of bool (value replaced). THe celix_status_t is used to indicate an ENOMEM error.
- Embedded bundles are no longer supported.
- properties.h is removed and no longer supported. Use celix_properties.h instead.
- linked_list.h is removed and no longer supported. Use celix_array_list.h instead.
- ip_utils.h is removed and no longer supported.
- array_list.h is removed and no longer supported. Use celix_array_list.h instead.
- the celix_arrayList_add function no longer accepts a NULL value.
- version.h and version_range.h are removed and no longer supported. Use celix_version.h and celix_version_range.h instead.
- The signature of
celix_bundleContext_trackServices
has changed. The signature is now simpler to better support the use-case of using a service tracker with thecelix_bundleContext_useTrackedService*
functions. Thecelix_bundleContext_trackServicesWithOptions
is still available for more advanced use-cases. - Function
celix_bundle_destroyServiceTrackerList
is removed. The returned array list fromcelix_bundle_listServiceTrackers
is now configured to destroy the service trackers info entries. - It is no longer possible to use the
celix_bundleContext_useService*
functions orcelix::BundleContxt::useService*
methods on the Celix event thread. The calls will now immediately return and log an error if called on the Celix event thread. - Apache Celix filter now uses the underlying
properties
value types for matching. This means that it is more important to add service properties with the correct type. - Celix C++ Exception are now defined in the
celix/exceptions.h
header file. Thecelix/Exception.h
andcelix/IOException.h
are removed. - The seperator for
CELIX_AUTO_START_0
..CELIX_AUTO_START_6
andCELIX_AUTO_INSTALL
is now a comma instead of a space. - The launcher now only has two public functions:
celix_launcher_launchAndWait
andcelix_launcher_triggerStop
. The other functions are removed. - The manifest format has been changed to JSON, and the manifest attribute names have been changed.
The old manifest format is no longer supported.
The old manifest attribute names are also no longer defined in
celix_constants.h
.
- Type support for value in celix Properties, including support for arrays.
- V2 Shared memory for remote service admin.
- Zeroconf discovery of remote services.
- Symbol visibility support: Bundle symbols are now hidden by default, except for the bundle activator.
- Error injection library (for testing).
- Coding convention documentation.
- Celix error library for printing errors when no framework is available.
- Scope-based Resource Management (RAII-light for C).
- Support for uncompressed bundle deployment, which enables multiple frameworks to share the bundle resources by
using unzipped bundle dirs instead of a zip files as BUNDLES arguments in
add_celix_container
. - Scheduled event support, so that (low-frequency / non IO blocking) events can be scheduled on the Apache Celix event thread.
- Support for Conan 2.
- Support for uclibc (not tested in CI yet).
- Support for C++14 in addition to C++17.
- Deprecated
sprintf
usage; transitioned tosnprintf
oraprintf
. - Refactored the bundle cache to support retention of unchanged bundles on disk.
- Automatic scan for project build options using CMake.
- Use of upstream
civetweb
dependency instead of embedded sources. - Applied attribute format for printf-like functions.
- Removed the busy loop mechanism from the pubsub admin websocket.
- Improved cleanup procedures during bundle uninstallation to conform to the OSGi specification.
- Improved
INSTALL_RPATH
to use$ORIGIN
during installation. - Corrected bundle update behavior when updating bundles from different sources.
- Enhanced
libcurl
initialization procedures and madelibcurl
optional.
- Numerous minor fixes, especially concerning multi-threading issues and error handling.
- Support for Conan package manager
- Async api to (un0)register services, track services, track bundles and create/remove components.
- C++17 API.
- Celix Promises (experimental)
- Celix PushStreams (experimental)
- C++ Remote Service Admin (experimental)
- Refactored LogAdmin
- Build
- multi build type support
- Added celix_ api for
- long and string hash map
- shell command
- logging
- Added C++17 api for
- BundleContext (service registration, service trackers, use services, bundle trackers)
- BundleActivator
- Framework
- LogHelper
- IShellCommand
- Filter
- Properties
- Utils
- Remote Services
- Interceptors support
- PubSub
- Interceptors
- Wire protocol service support
- Refactored message serialization
- Too many to mention
- Fixes etcdlib CMake setup to that etcdlib can be built as a separate project
- 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
- 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.
- 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