
<!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">&lt;&lt; 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] &quot;service registration set properties&quot; deadlocks
[CELIX-308] Dependency Manager memory leaks
[CELIX-310] &quot;serviceRegistry_getRegisteredServices&quot; 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 &quot;service_&quot; 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 &copy; 2024 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>
