| |
| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta name="description" content=""> |
| <meta name="author" content=""> |
| |
| <title>Changes / Apache Celix</title> |
| |
| |
| <link rel="icon" href="/assets/img/favicon.ico"> |
| |
| |
| <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> |
| |
| |
| <link href="/assets/css/style.css" rel="stylesheet"> |
| |
| <style> |
| |
| |
| .card-body img { |
| max-width: 100%; |
| width: 100%; |
| height: auto; |
| } |
| |
| |
| .card-body img + em { |
| text-decoration: underline; |
| } |
| </style> |
| |
| |
| <script> |
| var _paq = window._paq = window._paq || []; |
| |
| _paq.push(['disableCookies']); |
| |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="https://analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '9']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script> |
| |
| |
| </head> |
| <body class="light-grey"> |
| |
| <a href="https://github.com/apache/celix" class="github-ribbon"> |
| <img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub"> |
| </a> |
| |
| |
| <nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top"> |
| <div class="container"> |
| <a class="navbar-brand" href="/"> |
| <img src="/assets/img/celix-white.svg" height="40" class="d-inline-block align-top" alt="Celix Logo"> |
| </a> |
| <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
| <div class="collapse navbar-collapse" id="navbarResponsive"> |
| <ul class="navbar-nav ml-auto"> |
| <li class="nav-item"> |
| <a class="nav-link" href="/">Home</a> |
| </li> |
| <li class="nav-item"> |
| <a class="nav-link" href="/download.cgi">Download</a> |
| </li> |
| <li class="nav-item dropdown active"> |
| <a class="nav-link dropdown-toggle" href="#" id="ddDocs" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| Docs |
| </a> |
| <div class="dropdown-menu" aria-labelledby="ddDocs"> |
| <a class="dropdown-item" href="/docs/2.4.0/docs.html">2.4.0 (latest)</a> |
| <a class="dropdown-item" href="/docs/2.3.0/docs.html">2.3.0</a> |
| <a class="dropdown-item" href="/docs/2.2.1/docs.html">2.2.1</a> |
| <a class="dropdown-item" href="/docs/2.1.0/docs.html">2.1.0</a> |
| </div> |
| </li> |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" id="ddContributing" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| Contributing |
| </a> |
| <div class="dropdown-menu" aria-labelledby="ddContributing"> |
| <a class="dropdown-item" href="/contributing/youatcelix.html">You at Celix</a> |
| <a class="dropdown-item" href="/contributing/submitting-patches.html">Submitting patches</a> |
| <a class="dropdown-item" href="/contributing/source-and-builds.html">Source code and builds</a> |
| <hr> |
| <a class="dropdown-item" href="/contributing/releasing.html">Releasing</a> |
| <a class="dropdown-item" href="/contributing/volunteers.html">Volunteers</a> |
| <a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a> |
| </div> |
| </li> |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| Support |
| </a> |
| <div class="dropdown-menu" aria-labelledby="ddSupport"> |
| <a class="dropdown-item" href="/support/mailing-list.html">Mailing Lists</a> |
| <a class="dropdown-item" href="/support/issue-tracking.html">Issue Tracking</a> |
| </div> |
| </li> |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" id="ddFoundation" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| ASF |
| </a> |
| <div class="dropdown-menu" aria-labelledby="ddFoundation"> |
| <a class="dropdown-item" href="https://www.apache.org/">ASF Home</a> |
| <a class="dropdown-item" href="https://www.apache.org/foundation/how-it-works.html">How it works</a> |
| <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a> |
| <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
| <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a> |
| <a class="dropdown-item" href="https://www.apache.org/security/">Security</a> |
| <a class="dropdown-item" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </nav> |
| |
| |
| <div class="section"> |
| <div class="container"> |
| <div class="row py-4"> |
| <div class="col-sm-12 card"> |
| <div class="card-body pt-5"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <a href="/docs/2.1.0/docs.html" title="back to documentation"><< back to documentation</a> |
| |
| |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <h1 id="changes-for-210">Changes for 2.1.0</h1> |
| <h2 id="new-features">New Features:</h2> |
| <pre><code>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. |
| </code></pre> |
| <h2 id="improvements">Improvements:</h2> |
| <pre><code>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. |
| </code></pre> |
| <h2 id="bugs">Bugs:</h2> |
| <pre><code>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. |
| </code></pre> |
| <h1 id="changes-for-200">Changes for 2.0.0</h1> |
| <h2 id="new-features-1">New Features</h2> |
| <pre><code>[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 |
| </code></pre> |
| <h2 id="improvements-1">Improvements</h2> |
| <pre><code>[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* |
| </code></pre> |
| <h2 id="bugs-1">Bugs</h2> |
| <pre><code>[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 |
| </code></pre> |
| |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <footer class="py-3 bg-secondary"> |
| <div class="container"> |
| <div class="row"> |
| <div class="col-md-8 text-center"> |
| <p class="m-0 text-white"> |
| Copyright © 2023 The Apache Software Foundation, Licensed under |
| the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. |
| <br> |
| Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation. |
| </p> |
| </div> |
| <div class="col-md-4 text-center"> |
| <a href="https://www.apache.org/events/current-event.html" target="_blank"> |
| <img src="https://www.apache.org/events/current-event-234x60.png" title="Apache Event" width="234" height="60" border="0"> |
| </a> |
| </div> |
| </div> |
| </div> |
| </footer> |
| |
| |
| <script src="/assets/js/jquery.min.js"></script> |
| <script src="/assets/js/bootstrap.bundle.min.js"></script> |
| |
| |
| </body> |
| </html> |