---
layout: page
title: Apache Karaf - News
permalink: /news
---

<main role="main">

    <div class="container pt-5">
      <div class="row mb-2">
        <div class="col-md-6">
          <div class="card flex-md-row mb-4 box-shadow h-md-250">
            <div class="card-body d-flex flex-column align-items-start">
              <strong class="d-inline-block mb-2 text-primary"><i class="fas fa-globe"></i> World</strong>
              <h3 class="mb-0">
                <a class="text-dark">ApacheCon 2020 @Home</a>
              </h3>
              <div class="mb-1 text-muted">September 29, 2020</div>
              <p class="card-text mb-auto">All sessions are now available on our YouTube channel!</p>
              <a href="https://apachecon.com/acah2020/tracks/karaf.html" target="_blank">Karaf Track</a><br>
              <a href="https://www.youtube.com/playlist?list=PLU2OcwpQkYCy_awEe5xwlxGTk5UieA37m" target="_blank">YouTube</a><br>
              <a href="https://www.apachecon.com/acah2020/" target="_blank">Learn more</a>
            </div>
          </div>
        </div>
        <div class="col-md-6">
          <div class="card flex-md-row mb-4 box-shadow h-md-250">
            <div class="card-body d-flex flex-column align-items-start">
              <strong class="d-inline-block mb-2 text-success"><i class="fas fa-rocket"></i> Announce</strong>
              <h3 class="mb-0">
                <a class="text-dark">Karaf Cellar 4.2.1</a>
              </h3>
              <div class="mb-1 text-muted">August 21, 2020</div>
              <p class="card-text mb-auto">This is an important update patch for Apache Karaf Cellar 4.2.x series.</p>
              <a href="#">Learn more</a>
            </div>
          </div>
        </div>
      </div>
    </div>

    <main role="main">

      <!-- Marketing messaging and featurettes
      ================================================== -->
      <!-- Wrap the rest of the page in another container to center all the content. -->

      <div class="container">

        <div class="row mb-5 mt-5">
            <div class="col-md-10">
              <h2 class="pb-3 mb-4 font-italic border-bottom"><i class="fas fa-bullhorn"></i> Fresh news</h2>

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf runtime 4.3.1 has been released! <span class="text-muted">April 02, 2021</span></h3>
                <p>Apache Karaf runtime 4.3.1 is a release on the 4.3.x series. It provides updates, fixes, improvements, especially:
                <ul>
                  <li>java.* packages are now part of system packages</li>
                  <li>fix on configuration with json format</li>
                  <li>jetty alias feature for backward compatibility</li>
                  <li>fix default resolver parallelism value</li>
                  <li>fix on SSH, and log commands</li>
                  <li>improvements on the JMX layer</li>
                  <li>env/prop interpolation support on the SSH client</li>
                  <li>add property to disable auto refresh in features service</li>
                  <li>and much more !</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12348818" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf runtime 4.2.11 has been released! <span class="text-muted">March 15, 2021</span></h3>
                <p>Apache Karaf runtime 4.2.11 is a release on the 4.2.x series. It provides updates, fixes, improvements, especially:
                <ul>
                  <li>Karaf BillOfMaterial</li>
                  <li>JMXMP improvements for Karaf MBean server</li>
                  <li>SSH client fixes</li>
                  <li>log:* commands fixes</li>
                  <li>bunch of dependency updates</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12348692" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Decanter 2.7.0 has been released! <span class="text-muted">February 15, 2021</span></h3>
                <p>Apache Karaf Decanter 2.7.0 is a major release on the 2.x series. It provides dependency updates, fixes, improvements, and new features, especially:
                <ul>
                  <li>refactoring of the Camel Collector as interceptor strategy</li>
                  <li>improvements on the REST collector</li>
                  <li>new OpenStack collector</li>
                  <li>new Apache Druid collector</li>
                  <li>new Grafana Loki appender</li>
                  <li>new HDFS appender</li>
                  <li>new AWS S3 appender</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12349505" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf runtime 4.3.0 has been released! <span class="text-muted">October 30, 2020</span></h3>
                <p>Apache Karaf runtime 4.3.0 has been released. It's a new milestone for the project. This first release on the 4.3.x series brings lot of new features, improvements and fixes especially:</p>
                <ul>
                  <li>OSGi R7</li>
                  <li>JDK 11+</li>
                  <li>JSON configuration format support</li>
                  <li>better feature definition using requirements and capabilities</li>
                  <li>BoM to simplify dependencies management</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12343304" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Cellar 4.2.1 has been released! <span class="text-muted">August 21, 2020</span></h3>
                <p>Apache Karaf Cellar 4.2.1 is a major release on the 4.x series. It provides dependency updates and improvements especially:</p>
                <ul>
                  <li>fix startup of the features synchronizer with JDK 1.8</li>
                  <li>fix hazelcast group manager startup</li>
                  <li>fix a race condition between ConfigurationAdmin and Cellar group manager</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12348569" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Cellar 4.2.0 has been released! <span class="text-muted">July 18, 2020</span></h3>
                <p>Apache Karaf Cellar 4.2.0 is a major release on the 4.x series. It provides dependency updates and improvements especially:</p>
                <ul>
                  <li>possibility to use JCache with appended hazelcast instance</li>
                  <li>all cluster:* commands should use the node alias when possible</li>
                  <li>improve cellar groups configuration synchronisation from hazelcast</li>
                  <li>implement better support to configure Kubernetes API client</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344252" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Decanter 2.5.0 has been released! <span class="text-muted">June 22, 2020</span></h3>
                <p>Apache Karaf Decanter 2.5.0 is a major release on the 2.x series. It provides dependency updates and improvements especially:</p>
                <ul>
                  <li>extended REST support in REST collector and appender (REST verbs, basic authentication, custom headers, ...)</li>
                  <li>connected mode on the socket collector</li>
                  <li>streaming mode on the socket appender</li>
                  <li>new Pax Web Jetty handler collector</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12348163" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.9 has been released! <span class="text-muted">June 9, 2020</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>VerifyMojo performance improvement</li>
                  <li>Disallow calling getMBeansFromURL</li>
                  <li>Prevent JMX rebinding</li>
                  <li>Provide Spring Security 5.3.x feature</li>
                </ul>
                <div class="pb-3">
                  <em>See the release note for the librairies update.</em>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12346465" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Decanter 2.4.0 has been released! <span class="text-muted">April 30, 2020</span></h3>
                <p>This is a new major release for Apache Decanter 2.x, containing bug fixes, new features, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>New processing layer with first aggregator processor</li>
                  <li>New prometheus collector</li>
                  <li>New elasticsearch collector</li>
                  <li>New configadmin collector</li>
                  <li>New oshi collector</li>
                  <li>New redis collector</li>
                </ul>
                <a class="btn btn-outline-primary" href="download.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12346613" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Decanter 2.3.0 has been released! <span class="text-muted">April 6, 2020</span></h3>
                <p>This is a first minor release for Apache Decanter 2.3.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add prometheus appender</li>
                  <li>Improve Decanter alerting by supporting time series and multi-attributes</li>
                  <li>Be able to personalize the email sent by the alerter</li>
                  <li>Avoid blacklisting of the appenders</li>
                  <li>Improve Split and Regex parser by casting data</li>
                  <li>Be able to persist AlertStore data</li>
                  <li>Use JDK8 in Decanter</li>
                  <li>Improve SOAP collector by adding request response time</li>
                  <li>Use a thread pool executor in the collector system</li>
                  <li>Use non typed index in elasticsearch appender</li>
                  <li>Add itest coverage in Decanter</li>
                  <li>Be able to use property/templating in email alerter</li>
                </ul>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345165" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.8 has been released! <span class="text-muted">January 14, 2020</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>HTTP proxy should be able to support several addresses with balancing policies</li>
                  <li>Add filter attribute on command @Reference annotation</li>
                  <li>Maven plugin feature to define custom bundle location prefixes</li>
                  <li>Be able to override the Karaf distribution in KarafTestSupport</li>
                  <li>Improve the jaas command to be able to add a new realm</li>
                  <li>Add JMXMP support</li>
                </ul>
                <div class="pb-3">
                  <em>See the release note for the librairies update.</em>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12346100" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <!-- 2019 -->
              <h2 id="2019" class="pb-3 mb-4 font-italic border-bottom">2019</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 4.2.1 has been released ! <span class="text-muted">November 29, 2019</span></h3>
                <p>This is an update patch for Cave 4.2.x series. It brings bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12346450" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 4.2.0 has been released ! <span class="text-muted">October 28, 2019</span></h3>
                <p>This is the first release in the Cave 4.2.x series. It brings bug fixes, improvements, and a complete refactor to reduce number of bundles and simplify API.</p>
                <p>With this new version, you can:</p>
                <ul>
                  <li>Proxy a maven repository with authentication and activate mirroring of the artifacts in local storage.</li>
                  <li>Manage your repositories with the Karaf scheduler.</li>
                </ul>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12343975" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.7 has been released ! <span class="text-muted">September 29, 2019</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add flag to mark transitive dependencies</li>
                  <li>Add jetty-proxy bundle in http/jetty feature</li>
                  <li>Add support for elliptic keys in the PublicKeyLoginModule</li>
                  <li>ConfigMBean should reflect config:edit command for factory</li>
                  <li>Move Spring 5.0.x features in spring-legacy features repository</li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>
                      <td><strong>Pax Web 7.2.11</strong></td>
                      <td>7.2.10</td>
                    </tr>
                    <tr>
                      <td><strong>Spring</strong></td>
                      <td>5.1.9.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Aries Proxy</strong></td>
                      <td>1.1.6</td>
                    </tr>
                    <tr>
                      <td><strong>Aries Spi Fly</strong></td>
                      <td>1.2.2</td>
                    </tr>
                    <tr>
                      <td><strong>Felix ConfigAdmin</strong></td>
                      <td>1.9.16</td>
                    </tr>
                    <tr>
                      <td><strong>Felix HTTP</strong></td>
                      <td>4.0.10</td>
                    </tr>
                    <tr>
                      <td><strong>Jetty</strong></td>
                      <td>9.4.20.v20190813</td>
                    </tr>
                    <tr>
                      <td><strong>jline</strong></td>
                      <td>3.12.1</td>
                    </tr>
                    <tr>
                      <td><strong>CXF</strong></td>
                      <td>3.3.2</td>
                    </tr>
                    <tr>
                      <td><strong>JNA</strong></td>
                      <td>5.4.0</td>
                    </tr>
                    <tr>
                      <td><strong>Felix WebConsole</strong></td>
                      <td>4.3.16</td>
                    </tr>
                    <tr>
                      <td><strong>Narayana</strong></td>
                      <td>5.9.7.Final</td>
                    </tr>
                    <tr>
                      <td><strong>Pax Logging</strong></td>
                      <td>1.11.2</td>
                    </tr>
                    <tr>
                      <td><strong>Hibernate-validator</strong></td>
                      <td>6.0.17.Final</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345539" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.6 has been released ! <span class="text-muted">June 10, 2019</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add override property to <code>&lt;config/&gt;</code> in feature</li>
                  <li>Add <code>web:install</code> command</li>
                  <li>Add <code>spring-messaging</code> feature</li>
                  <li>Add option to <code>feature:uninstall</code> to cleanup feature <code>configs/config-files</code></li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>
                      <td><strong>felix-http</strong></td>
                      <td>4.0.8</td>
                    </tr>
                    <tr>
                      <td><strong>Pax-Web</strong></td>
                      <td>7.2.10</td>
                    </tr>
                    <tr>
                      <td><strong>Quartz</strong></td>
                      <td>2.3.1</td>
                    </tr>
                    <tr>
                      <td><strong>XBean</strong></td>
                      <td>4.14</td>
                    </tr>
                    <tr>
                      <td><strong>Felix WebConsole MemoryUsage plugin</strong></td>
                      <td>1.0.10</td>
                    </tr>
                    <tr>
                      <td><strong>Maven</strong></td>
                      <td>3.6.1</td>
                    </tr>
                    <tr>
                      <td><strong>jansi</strong></td>
                      <td>1.18</td>
                    </tr>
                    <tr>
                      <td><strong>narayana</strong></td>
                      <td>5.9.5.Final</td>
                    </tr>
                    <tr>
                      <td><strong>jline</strong></td>
                      <td>3.11.0</td>
                    </tr>
                    <tr>
                      <td><strong>Pax Web</strong></td>
                      <td>7.2.9</td>
                    </tr>
                    <tr>
                      <td><strong>Jetty</strong></td>
                      <td>9.4.18</td>
                    </tr>
                    <tr>
                      <td><strong>Spring Security</strong></td>
                      <td>5.1.5.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Spring</strong></td>
                      <td>4.3.24.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Spring</strong></td>
                      <td>5.0.14.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Spring</strong></td>
                      <td>5.1.7.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Apache Felix Webconsole</strong></td>
                      <td>4.3.12</td>
                    </tr>
                    <tr>
                      <td><strong>equinox</strong></td>
                      <td>3.12.100</td>
                    </tr>
                    <tr>
                      <td><strong>Pax Logging</strong></td>
                      <td>1.10.2</td>
                    </tr>
                    <tr>
                      <td><strong>ActiveMQ</strong></td>
                      <td>5.15.9</td>
                    </tr>
                    <tr>
                      <td><strong>aspectj</strong></td>
                      <td>1.9.4</td>
                    </tr>
                    <tr>
                      <td><strong>ant</strong></td>
                      <td>1.10.5</td>
                    </tr>
                    <tr>
                      <td><strong>cglib</strong></td>
                      <td>3.2.9</td>
                    </tr>
                    <tr>
                      <td><strong>JNA</strong></td>
                      <td>5.3.1</td>
                    </tr>
                    <tr>
                      <td><strong>commons-beanutils</strong></td>
                      <td>1.9.3</td>
                    </tr>
                    <tr>
                      <td><strong>commons-codec</strong></td>
                      <td>1.12</td>
                    </tr>
                    <tr>
                      <td><strong>commons-fileupload</strong></td>
                      <td>1.4</td>
                    </tr>
                    <tr>
                      <td><strong>commons-pool2</strong></td>
                      <td>2.6.2</td>
                    </tr>
                    <tr>
                      <td><strong>jolokia</strong></td>
                      <td>1.6.1</td>
                    </tr>
                    <tr>
                      <td><strong>serp</strong></td>
                      <td>1.15.1</td>
                    </tr>
                    <tr>
                      <td><strong>Pax JMS</strong></td>
                      <td>1.0.4</td>
                    </tr>
                    <tr>
                      <td><strong>bndlib</strong></td>
                      <td>3.5.0</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345365" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.5 has been released ! <span class="text-muted">April 21, 2019</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add karaf:dockerfile & karaf:docker Maven goals</li>
                  <li>Add SortedProperties class to karaf tooling</li>
                  <li>Add principal info to audit logs</li>
                  <li>Add MAX_CONCURRENT_SESSIONS option to Karaf ssh server</li>
                  <li>Prevent relative path in config install command and ConfigMBean</li>
                  <li>Introduce new property EnabledProtocals for org.apache.karaf.management.cfg</li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>
                      <td><strong>hibernate-validator</strong></td>
                      <td>6.0.16.Final</td>
                    </tr>
                    <tr>
                      <td><strong>Pax-jdbc</strong></td>
                      <td>1.3.5</td>
                    </tr>
                    <tr>
                      <td><strong>Pax-transx</strong></td>
                      <td>0.4.3</td>
                    </tr>
                    <tr>
                      <td><strong>Aries Blueprint Core</strong></td>
                      <td>1.10.2</td>
                    </tr>
                    <tr>
                      <td><strong>Equinox</strong></td>
                      <td>3.13.300</td>
                    </tr>
                    <tr>
                      <td><strong>Narayana</strong></td>
                      <td>5.9.4.Final</td>
                    </tr>
                    <tr>
                      <td><strong>Geronimo Connector</strong></td>
                      <td>3.1.4</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345153" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Decanter 2.2.0 has been released ! <span class="text-muted">March 22, 2019</span></h3>
                <p>This is a first minor release for Apache Decanter 2.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add websocket appender</li>
                  <li>Add InfluxDB appender</li>
                  <li>Add TimescaleDB appender</li>
                  <li>Add SOAP collector</li>
                  <li>Improve the API Parser adding key data as parameter</li>
                  <li>Be able to add property filters on appenders</li>
                  <li>Be able to define the marshaller in log appender</li>
                  <li>Reuse existing karafName, hostAddress, hostName if exist in "bridgeable" collectors</li>
                  <li>Kafka appender should perform send().get()</li>
                  <li>Provide split and regex parsers</li>
                  <li>REST collector should populate the status code when connection doesn't work</li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>
                      <td><strong>Netty and netty handler versions in Karaf Decanter Cassandra</strong></td>
                      <td>4.0.37.Final</td>
                    </tr>
                    <tr>
                      <td><strong>Spring-boot</strong></td>
                      <td>2.1.3.RELEASE</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344040" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.4 has been released ! <span class="text-muted">March 18, 2019</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Ensure karaf-maven-plugin can honor start-level for bootBundles</li>
                  <li>Allow to override/blacklist some features for VerifyMojo</li>
                  <li>Add skip option to karaf-maven-plugin</li>
                  <li>Improve shell:exit help message</li>
                  <li>FeaturesProcessorImpl improvement for bundle override</li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>
                      <td><strong>Aries JPA</strong></td>
                      <td>2.7.2</td>
                    </tr>
                    <tr>
                      <td><strong>Felix ConfigAdmin</strong></td>
                      <td>1.9.14</td>
                    </tr>
                    <tr>
                      <td><strong>Spring</strong></td>
                      <td>5.1.5.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Spring</strong></td>
                      <td>4.3.22.RELEASE</td>
                    </tr>
                    <tr>
                      <td><strong>Felix SCR</strong></td>
                      <td>2.1.16</td>
                    </tr>
                    <tr>
                      <td><strong>Awaitility</strong></td>
                      <td>3.1.6</td>
                    </tr>
                    <tr>
                      <td><strong>ASM</strong></td>
                      <td>7.1</td>
                    </tr>
                    <tr>
                      <td><strong>jline</strong></td>
                      <td>3.10.0</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344856" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.3 has been released ! <span class="text-muted">February 11, 2019</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add operation to get features contained in a feature repository</li>
                  <li>Service wrapper should add selected JAVA_HOME also to the PATH variable</li>
                  <li>Enhance bundle report to reflect effective installed features for custom distributions</li>
                  <li>Create Aries JAXRS whiteboard example</li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>
                      <td><strong>pax-transx</strong></td>
                      <td>0.4.1</td>
                    </tr>
                    <tr>
                      <td><strong>Aries Proxy Impl</strong></td>
                      <td>1.1.4</td>
                    </tr>
                    <tr>
                      <td><strong>pax-web</strong></td>
                      <td>7.2.7</td>
                    </tr>
                    <tr>
                      <td><strong>jaxb</strong></td>
                      <td>2.3.2</td>
                    </tr>
                    <tr>
                      <td><strong>itstack-commons-runtime</strong></td>
                      <td>3.0.8</td>
                    </tr>
                    <tr>
                      <td><strong>Aries JPA</strong></td>
                      <td>2.7.1</td>
                    </tr>
                    <tr>
                      <td><strong>Felix Gogo</strong></td>
                      <td>1.1.4</td>
                    </tr>
                    <tr>
                      <td><strong>Maven Wagon</strong></td>
                      <td>3.3.1</td>
                    </tr>
                    <tr>
                      <td><strong>awaitility</strong></td>
                      <td>3.1.5</td>
                    </tr>
                    <tr>
                      <td><strong>Narayana</strong></td>
                      <td>5.9.2.Final</td>
                    </tr>
                    <tr>
                      <td><strong>pax-cdi</strong></td>
                      <td>1.1.0</td>
                    </tr>
                    <tr>
                      <td><strong>pax-jms</strong></td>
                      <td>1.0.3</td>
                    </tr>
                    <tr>
                      <td><strong>pax-jdbc</strong></td>
                      <td>1.3.3</td>
                    </tr>
                    <tr>
                      <td><strong>pax-transx</strong></td>
                      <td>0.4.2</td>
                    </tr>
                    <tr>
                      <td><strong>pax-web</strong></td>
                      <td>7.2.7</td>
                    </tr>
                    <tr>
                      <td><strong>Hibernate</strong></td>
                      <td>5.2.17.Final</td>
                    </tr>
                    <tr>
                      <td><strong>Felix Framework</strong></td>
                      <td>5.6.12</td>
                    </tr>
                    <tr>
                      <td><strong>javax.annotation</strong></td>
                      <td>1.3</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344587" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.1.3 has been released ! <span class="text-muted">February 25, 2019</span></h3>
                <p>This is a major maintenance release on Cellar 4.1.x series. Especially, it provides:</p>
                <ul>
                  <li>Slave cluster searches log on Master's log path</li>
                  <li>Setting node alias breaks synchonization</li>
                  <li>Extend http service version range in Cellar load balancer</li>
                </ul>
                <p>and much more !</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341724" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 4.1.2 has been released ! <span class="text-muted">January 21, 2019</span></h3>
                <p>This is a major maintenance release on Cave 4.1.x series. Especially, it provides:</p>
                <ul>
                  <li>Be able to use proxy or storage in Cave Maven</li>
                  <li>Add default Cave Deployer connections store</li>
                  <li>Change implementation of Cave Deployer REST to mimic Cave Server</li>
                </ul>
                <p>and much more !</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344835" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <!-- 2018 -->
              <h2 id="2018" class="pb-3 mb-4 font-italic border-bottom">2018</h2>

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.2 has been released ! <span class="text-muted">December 18, 2018</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <li>Add Felix HTTP feature</li>
                  <li>Add Camel examples</li>
                  <li>Add config management example</li>
                  <li>Add websocket example</li>
                </ul>
                <div class="pl-5 pb-3">
                  <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                    <th>Name</th>
                    <th>Versions</th>
                    </thead>
                    <tbody>
                    <tr>   <td><strong>easymock</strong></td>
                      <td>4.0.1</td>
                    </tr>
                    <tr>   <td><strong>XBean</strong></td>
                      <td>4.12</td>
                    </tr>
                    <tr>   <td><strong>maven-bundle-plugin</strong></td>
                      <td>4.1.0</td>
                    </tr>
                    <tr>   <td><strong>maven-invoker-plugin</strong></td>
                      <td>3.1.0</td>
                    </tr>
                    <tr>   <td><strong>maven-plugin-plugin</strong></td>
                      <td>3.5.2</td>
                    </tr>
                    <tr>   <td><strong>maven-scm-publish-plugin</strong></td>
                      <td>3.0.0</td>
                    </tr>
                    <tr>   <td><strong>asciidoctor-maven-plugin</strong></td>
                      <td>1.5.6</td>
                    </tr>
                    <tr>   <td><strong>JNA</strong></td>
                      <td>4.5.2</td>
                    </tr>
                    <tr>   <td><strong>Aries Blueprint Core</strong></td>
                      <td>1.10.1</td>
                    </tr>
                    <tr>   <td><strong>Aries Blueprint CM</strong></td>
                      <td>1.3.1</td>
                    </tr>
                    <tr>   <td><strong>commons-compress</strong></td>
                      <td>1.18</td>
                    </tr>
                    <tr>   <td><strong>commons-lang3</strong></td>
                      <td>3.8.1</td>
                    </tr>
                    <tr>   <td><strong>Felix ConfigAdmin</strong></td>
                      <td>1.9.6</td>
                    </tr>
                    <tr>   <td><strong>Felix Framework Security</strong></td>
                      <td>2.6.1</td>
                    </tr>
                    <tr>   <td><strong>Felix Metatype</strong></td>
                      <td>1.2.2</td>
                    </tr>
                    <tr>   <td><strong>Felix SCR</strong></td>
                      <td>2.1.8</td>
                    </tr>
                    <tr>   <td><strong>Felix WebConsole Plugin DS</strong></td>
                      <td>2.1.0</td>
                    </tr>
                    <tr>   <td><strong>geronimo-atinject_1.0_spec</strong></td>
                      <td>1.1</td>
                    </tr>
                    <tr>   <td><strong>maven-dependency-tree</strong></td>
                      <td>3.0.1</td>
                    </tr>
                    <tr>   <td><strong>Maven Wagon</strong></td>
                      <td>3.2.0</td>
                    </tr>
                    <tr>   <td><strong>hibernate-validator</strong></td>
                      <td>6.0.13.Final</td>
                    </tr>
                    <tr>   <td><strong>Ant ServiceMix bundle</strong></td>
                      <td>1.10.3_1</td>
                    </tr>
                    <tr>   <td><strong>Apache POM</strong></td>
                      <td>21</td>
                    </tr>
                    <tr>   <td><strong>ASM</strong></td>
                      <td>7.0</td>
                    </tr>
                    <tr>   <td><strong>Aries SpiFly</strong></td>
                      <td>1.2</td>
                    </tr>
                    <tr>   <td><strong>Felix ConfigAdmin</strong></td>
                      <td>1.9.10</td>
                    </tr>
                    <tr>   <td><strong>Felix SCR</strong></td>
                      <td>2.1.14</td>
                    </tr>
                    <tr>   <td><strong>awaitility</strong></td>
                      <td>3.1.3</td>
                    </tr>
                    <tr>   <td><strong>easymock</strong></td>
                      <td>4.0.2</td>
                    </tr>
                    <tr>   <td><strong>pax-jms</strong></td>
                      <td>1.0.2</td>
                    </tr>
                    <tr>   <td><strong>Spring</strong></td>
                      <td>4.3.21.RELEASE</td>
                    </tr>
                    <tr>   <td><strong>Spring</strong></td>
                      <td>5.0.10.RELEASE</td>
                    </tr>
                    <tr>   <td><strong>Pax Exam</strong></td>
                      <td>4.13.1</td>
                    </tr>
                    <tr>   <td><strong>Pax Web</strong></td>
                      <td>7.2.5</td>
                    </tr>
                    <tr>   <td><strong>Felix Utils</strong></td>
                      <td>1.11.2</td>
                    </tr>
                    </tbody>
                  </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12343458" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.7 has been released ! <span class="text-muted">November 30, 2018</span></h3>
                <p>This is an update patch for Apache Karaf 4.1.x, containing bug fixes and improvements.</p>
                <ul>
                  <li>Add Felix HTTP feature</li>
                  <li>Update to Apache Felix Webconsole 4.3.8 and latest jQuery UI 1.12.1</li>
                  <li>ProfilesUri option does not accept multiple values</li>
                  <li>Competitive configurations between various mojos</li>
                </ul>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12343797" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.1.2 has been released ! <span class="text-muted">October 12, 2018</span></h3>
                <p>This is a major maintenance release on Cellar 4.1.x series. Especially, it provides:</p>
                <ul>
                  <li>Improve cellar groups configuration synchronisation from hazelcast</li>
                  <li>Upgrade Hazelcast to 3.9.1</li>
                  <li>Upgrade Kubernetes-client to 3.1.0</li>
                </ul>
                <p>and much more !</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341724" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.0.5 has been released ! <span class="text-muted">October 12, 2018</span></h3>
                <p>This is a major maintenance release on Cellar 4.0.x series. Especially, it provides:</p>
                <ul>
                  <li>Improve cellar groups configuration synchronisation from hazelcast</li>
                  <li>Upgrade Hazelcast to 3.9.1</li>
                  <li>Upgrade Kubernetes-client to 3.1.0</li>
                </ul>
                <p>and much more !</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12340649" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 4.1.1 has been released ! <span class="text-muted">September 9, 2018</span></h3>
                <p>This release contains fixes on the Maven repository management, the Feature gateway, the REST services (for both repository and deployer).</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342356" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3 border-bottom">
                <h3 class="text-dark">Karaf Runtime 4.2.1 has been released ! <span class="text-muted">August 21, 2018</span></h3>
                <p>This is an update patch for Apache Karaf 4.2.x, containing bug fixes, improvements and dependency upgrades.</p>
                <p>Among this new features, we have:</p>
                <ul>
                  <dt>Docker</dt><dd>The docker feature allow users to manage their docker containers from the Karaf shell console with new commands <code>docker:xxx</code>. For example, you can create a Docker container using the current running Karaf instance with the command <code>docker:provision my-karaf</code>. You can learn more on the <a href="https://karaf.apache.org/manual/latest/#_docker" target="_blank">user guide</a></dd>
                  <dt>Examples</dt><dd>The Apache Karaf Examples provide different starting point showing how to implement concrete use cases leveraging Apache Karaf capabilities. There is a list of the examples on the <a href="https://karaf.apache.org/documentation" target="_blank">documentation page</a></dd>
                  <dt>Test support</dt><dd>A new <code>KarafTestSupport</code> class is available in order to help developers for writing the itests of their bundles, features and custom distribution. You can take a look on the <a href="https://github.com/apache/karaf/tree/main/itests/test/src/test/java/org/apache/karaf/itests/examples" target="_blank">itests module</a> of the project to see how it's easy to use !</dd>
                  <dt>JDK compatibility</dt><dd>We have improved the compatibility with the versions 9 / 10 / 11 of the JDK.</dd>
                  <dt>Dependency upgrades</dt><dd>A bunch of librairies have been upgraded:</dd>
                </ul>
                <div class="pl-5 pb-3">
                <table class="table table-striped table-sm w-75">
                    <thead class="thead-dark">
                      <th>Name</th>
                      <th>Versions</th>
                    </thead>
                    <tbody>
                      <tr>
                          <td><strong>Aries JPA</strong></td>
                          <td>2.7.0</td>
                      </tr>
                      <tr>
                          <td><strong>Aries Proxy</strong></td>
                          <td>Java 10 compliant</td>
                      </tr>
                      <tr>
                          <td><strong>Aries Proxy Impl </strong></td>
                          <td>1.1.2</td>
                      </tr>
                      <tr>
                          <td><strong>Aries Transaction Blueprint </strong></td>
                          <td>2.2.0</td>
                      </tr>
                      <tr>
                          <td><strong>ASM</strong></td>
                          <td>6.2.1</td>
                      </tr>
                      <tr>
                          <td><strong>Awaitility</strong></td>
                          <td>3.1.2</td>
                      </tr>
                      <tr>
                          <td><strong>Commons-compress</strong></td>
                          <td>1.17</td>
                      </tr>
                      <tr>
                          <td><strong>Easymock</strong></td>
                          <td>3.6</td>
                      </tr>
                      <tr>
                          <td><strong>Eclipselink</strong></td>
                          <td>2.7.3</td>
                      </tr>
                      <tr>
                          <td><strong>Equinox</strong></td>
                          <td>3.12.100</td>
                      </tr>
                      <tr>
                          <td><strong>Felix Gogo Runtime / Jline</strong></td>
                          <td>1.0.12</td>
                      </tr>
                      <tr>
                          <td><strong>Felix Resolver</strong></td>
                          <td>1.16.0</td>
                      </tr>
                      <tr>
                          <td><strong>Felix EventAdmin</strong></td>
                          <td>1.5.0</td>
                      </tr>
                      <tr>
                          <td><strong>Felix Metatype</strong></td>
                          <td>1.2.0</td>
                      </tr>
                      <tr>
                          <td><strong>Felix Connect</strong></td>
                          <td>0.2.0</td>
                      </tr>
                      <tr>
                          <td><strong>Felix Gogo</strong></td>
                          <td>1.1.0</td>
                      </tr>
                      <tr>
                          <td><strong>Felix ConfigAdmin</strong></td>
                          <td>1.9.4</td>
                      </tr>
                      <tr>
                          <td><strong>Felix SCR</strong></td>
                          <td>2.1.2</td>
                      </tr>
                      <tr>
                          <td><strong>Felix Utils</strong></td>
                          <td>1.11.0</td>
                      </tr>
                      <tr>
                          <td><strong>Hibernate Validator</strong></td>
                          <td>6.0.12.Final</td>
                      </tr>
                      <tr>
                          <td><strong>Jansi</strong></td>
                          <td>1.17.1</td>
                      </tr>
                      <tr>
                          <td><strong>Jline</strong></td>
                          <td>3.9.0</td>
                      </tr>
                      <tr>
                          <td><strong>Jolokia</strong></td>
                          <td>1.5.0</td>
                      </tr>
                      <tr>
                          <td><strong>Maven API</strong></td>
                          <td>3.5.4</td>
                      </tr>
                      <tr>
                          <td><strong>Maven Wagon</strong></td>
                          <td>3.1.0</td>
                      </tr>
                      <tr>
                          <td><strong>Narayana</strong></td>
                          <td>5.9.0.Final</td>
                      </tr>
                      <tr>
                          <td><strong>OpenJPA</strong></td>
                          <td>3.0.0</td>
                      </tr>
                      <tr>
                          <td><strong>Pax JMS</strong></td>
                          <td>1.0.1</td>
                      </tr>
                      <tr>
                          <td><strong>Pax JDBC</strong></td>
                          <td>1.3.0</td>
                      </tr>
                      <tr>
                          <td><strong>Pax Exam</strong></td>
                          <td>4.12.0</td>
                      </tr>
                      <tr>
                          <td><strong>Pax Transx</strong></td>
                          <td>0.4.0</td>
                      </tr>
                      <tr>
                          <td><strong>Pax Web</strong></td>
                          <td>7.2.3</td>
                      </tr>
                      <tr>
                          <td><strong>Jetty</strong></td>
                          <td>9.4.11.v20180605</td>
                      </tr>
                      <tr>
                          <td><strong>ServiceMix Spec Locator</strong></td>
                          <td>2.10</td>
                      </tr>
                      <tr>
                          <td><strong>Spring</strong></td>
                          <td>4.3.18.RELEASE</td>
                      </tr>
                      <tr>
                          <td><strong>Spring</strong></td>
                          <td>5.0.8.RELEASE</td>
                      </tr>
                      <tr>
                          <td><strong>Tagsoup</strong></td>
                          <td>1.2.1</td>
                      </tr>
                      <tr>
                          <td><strong>XBean</strong></td>
                          <td>4.8</td>
                      </tr>
                      <tr>
                          <td><strong>Xerces</strong></td>
                          <td>2.12.0</td>
                      </tr>

                    </tbody>
                </table>
                </div>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.6 has been released ! <span class="text-muted">August 6, 2018</span></h3>
                <p>This is an update patch for Apache Karaf 4.1.x, containing bug fixes and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.2.0 has been released ! <span class="text-muted">April 9, 2018</span></h3>
                <p>This is the first GA release on the 4.2.x series. We invite all users to upgrade to this new stable series, bringing a lot of fixes, improvements and new features.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342076" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.9 has been released ! <span class="text-muted">March 2, 2018</span></h3>
                <p>This is an update patch for Apache Karaf 3.0.x, containing minor bug fixes and dependency upgrades.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12338081" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.5 has been released ! <span class="text-muted">February 15, 2018</span></h3>
                <p>This is an update patch for Apache Karaf 4.1.x, containing bug fixes and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342294" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.2.0.M2 has been released ! <span class="text-muted">January 2, 2018</span></h3>
                <p>This is the second technical preview for the 4.2.x series. This is not a GA. The purpose is to continue the test campaign in preparation for the 4.2.0.GA release. Compared to 4.2.0.M1, 4.2.0.M2 contains bug fixes and improvements, especially around the Java 9 support.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342357" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 4.1.0 has been released ! <span class="text-muted">January 2, 2018</span></h3>
                <p>This is the first release in the Cave 4.1.x series. It brings bug fixes, improvements, and the new Deployer feature.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12340462" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->


              <!-- 2017 -->
              <h2 id="2017" class="pb-3 mb-4 font-italic border-bottom">2017</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.4 has been released ! <span class="text-muted">December 19, 2017</span></h3>
                <p>This is an update patch for Apache Karaf 4.1.x, containing bug fixes and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341702" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.1.1 has been released ! <span class="text-muted">September 28, 2017</span></h3>
                <p>This is the first GA release on the 4.2.x series. We invite all users to upgrade to this new stable series, bringing a lot of fixes, improvements and new features.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12340615" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.10 has been released ! <span class="text-muted">September 28, 2017</span></h3>
                <p>This is an update patch for Apache Karaf 4.0.x, containing bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12340287" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.2 has been released ! <span class="text-muted">August 8, 2017</span></h3>
                <p>Apache Karaf 4.1.2 is a maintenance release on the 4.1.x series, bringing bug fixes and updates.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12340261" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Decanter 1.4.0 has been released ! <span class="text-muted">July 23, 2017</span></h3>
                <p>Apache Karaf Decanter 1.4.0 is a new major release on the Decanter 1.x serie including bug fixes and couple of new features like the new Apache Camel Event Notifier.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12338800" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.1.0 has been released ! <span class="text-muted">May 15, 2017</span></h3>
                <p>Apache Karaf Cellar 4.1.0 is the first release on the Cellar 4.1.x serie, fully compatible with Karaf 4.1.x and bringing important improvements and bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12340376" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.9 has been released ! <span class="text-muted">April 10, 2017</span></h3>
                <p>This is an update patch for Apache Karaf 4.0.x, containing bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12338821" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.1 has been released ! <span class="text-muted">March 31, 2017</span></h3>
                <p>This is an update release on the Apache Karaf 4.1.x series, bringing lot of bug fixes and updates.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12339244" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.1.0 has been released ! <span class="text-muted">February 4, 2017</span></h3>
                <p>Apache Karaf 4.1.0 is the first release of the new 4.1.x serie. It brings lot of new features (new shell console, improvements of the Karaf Features system, better Maven artifacts resolution, improved web container, ...).</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332799" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->


              <!-- 2016 -->
              <h2 id="2016" class="pb-3 mb-4 font-italic border-bottom">2016</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.8 has been released ! <span class="text-muted">December 18, 2016</span></h3>
                <p>This is an update patch for Apache Karaf 4.0.x, containing bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12338273" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.0.3 has been released ! <span class="text-muted">October 31, 2016</span></h3>
                <p>Apache Karaf Cellar 4.0.2 is a maintenance release on the Cellar 4.x serie including important bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12338324" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.7 has been released ! <span class="text-muted">September 25, 2016</span></h3>
                <p>This is an update patch for Apache Karaf 4.0.x, containing bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12338147" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.0.2 has been released ! <span class="text-muted">September 19, 2016</span></h3>
                <p>Apache Karaf Cellar 4.0.2 is a maintenance release on the Cellar 4.x serie including important bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12337886" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.6 has been released ! <span class="text-muted">August 27, 2016</span></h3>
                <p>This is an update patch for Apache Karaf 4.0.x, containing many bug fixes, dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12335477" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Decanter 1.2.0 has been released ! <span class="text-muted">August 19, 2016</span></h3>
                <p>Apache Karaf Decanter 1.2.0 is a major new Decanter release, providing lot of new features (new collectors, new appenders) and bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12335659" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.8 has been released ! <span class="text-muted">August 11, 2016</span></h3>
                <p>This is an update patch for Apache Karaf 3.0.x, containing many bug fixes, dependency updates, and some improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12335948" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.0.1 has been released ! <span class="text-muted">July 17, 2016</span></h3>
                <p>This is a maintenance release on the Cellar 4.x serie including bug fixes and couple of new features.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12334169" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.7 has been released ! <span class="text-muted">June 20, 2016</span></h3>
                <p>This is an update patch for Apache Karaf Runtime 3.0.x series, containing many bug fixes, dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12334639" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Decanter 1.1.0 has been released ! <span class="text-muted">April 26, 2016</span></h3>
                <p>This is a new major release of Apache Karaf Decanter, starting the 1.1.x serie. It includes lot of new features and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12334862" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.5 has been released ! <span class="text-muted">April 21, 2016</span></h3>
                <p>This is an update patch for Apache Karaf Runtime 4.0.x series, containing many bug fixes, dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12334629" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.6 has been released ! <span class="text-muted">February 17, 2016</span></h3>
                <p>This is an update patch for Apache Karaf Runtime 3.0.x series, containing many bug fixes, dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12333641" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">The Karaf team is proud to announce the launch of our brand new website ! <span class="text-muted">February 4, 2016</span></h3>
                <p>After weeks of work, we are delighted to officially announce the launch of our new website.
                Our goal is to provide a clear and up to date message about Apache Karaf, with a modern
                look and feel.<br/>
                We hope you like it. For any questions, suggestions, feedbacks, or comments please send an e-mail
                to the <a href="community.html">mailing list</a> !</p>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.4.4 has been released ! <span class="text-muted">January 25, 2016</span></h3>
                <p><strong>WARNING</strong> : this is the last release on the 2.x series. This series is now in <strong>"Non Active"</strong> mode. We encourage users to upgrade to more recent Karaf Runtime versions.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12311140" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.12 has been released ! <span class="text-muted">January 25, 2016</span></h3>
                <p><strong>WARNING</strong> : this is the last release on the 2.3.x series. This series is now in <strong>"Non Active"</strong> mode. We encourage users to upgrade to more recent Karaf Runtime versions.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329877" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.4 has been released ! <span class="text-muted">January 13, 2016</span></h3>
                <p>This is an update patch for Apache Karaf Runtime 4.0.x series, containing many bug fixes, dependency updates, and improvements..</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12334047" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->


              <!-- 2015 -->
              <h2 id="2015" class="pb-3 mb-4 font-italic border-bottom">2015</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Decanter 1.0.1 has been released ! <span class="text-muted">November 16, 2015</span></h3>
                <p>
                This is a fix version on the 1.x series. It also brings new features like the file collector.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12333858" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.3 has been released ! <span class="text-muted">November 10, 2015</span></h3>
                <p>
                This is an update patch for Apache Karaf 4.0.x, containing many bug fixes,
                dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12333640" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.2 has been released ! <span class="text-muted">October 13, 2015</span></h3>
                <p>
                This is an update patch for Apache Karaf 4.0.x, containing many bug fixes,
                dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12333259" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.5 has been released ! <span class="text-muted">October 7, 2015</span></h3>
                <p>
                This is an update patch for Apache Karaf 3.0.x, containing many bug fixes,
                dependency updates, and improvements.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332380" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 4.0.0 has been released ! <span class="text-muted">August 19, 2015</span></h3>
                <p>
                This release of Apache Karaf Cellar is the first one of the 4.0.x series.<br/>
                Apache Karaf Cellar 4.0.0 is a major new release of Cellar designed to work with
                Karaf 4.0.x versions.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329385" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.1 has been released ! <span class="text-muted">August 19, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 4.0.1.<br/>
                This is an update patch for Apache Karaf 4.0.x, containing many bug fixes, dependency updates, and improvements. New feature highlights include: Providing Spring 4.2.0.RELEASE, OpenJPA 2.4.0, and JTA 1.2 features. Important dependency upgrades include: Spring 4.1.7.RELEASE, Spring 3.2.14.RELEASE, transaction.blueprint 1.1.1, and Pax-Web 4.2.0.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332798" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Decanter 1.0.0 has been released ! <span class="text-muted">August 1, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Decanter 1.0.0.<br/>
                Apache Karaf Decanter 1.0.0 is the first release of Decanter, a complete monitoring and alerting solution for Karaf and related projects (like Camel, ActiveMQ, etc).</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332996" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.4.3 has been released ! <span class="text-muted">July 12, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 2.4.3.<br/>
                This is an update patch for Apache Karaf 2.4.x, containing many bug fixes, dependency updates, and improvements. New feature highlights include: Support for Karaf 4 feature repositories in degraded mode, support for Pax-web 4.x, and updates to FelixFileInstall 3.5.0 and FelixConfigAdmin 1.8.4.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332072" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 4.0.0 has been released ! <span class="text-muted">July 8, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cave 4.0.0.<br/>
                This is a complete new Cave version, providing an implementation of OSGi Repository R5 specification. Take a look on the user guide for details.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332260" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.4 has been released ! <span class="text-muted">July 2, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 3.0.4.<br/>
                This is an update patch for Apache Karaf 3.0.x, containing many bug fixes, dependency updates, and improvements. New features highlights include: Jaas commands to create and list group, bundles in etc/statup.properties shouldn't be uninstalled through feature services, and more secure host SSH key by default.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329179" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.0 has been released ! <span class="text-muted">June 26, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 4.0.0.<br/>
                Apache Karaf 4.0.0 is the first production ready version of the new 4.0.0 branch.<br/>
                It's a major step forward, including a complete new features resolver, a large set of new features, improvements, and bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332045" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.0.M3 has been released ! <span class="text-muted">June 8, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 4.0.0.M3.<br/>
                <b>This is a technology preview release of Apache Karaf, and should NOT be considered production ready</b>
                Apache Karaf 4.0.0.M3 represents a major refactoring of the project, and includes numerous new features. We ask that users provide the community with their feed back so that the full Apache Karaf 4.0.0 release can be as feature complete and stable as possible.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316946" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 3.0.3 has been released ! <span class="text-muted">May 12, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cellar 3.0.3.<br/>
                Apache Karaf Cellar 3.0.3 is a major update on the 3.0.x series branch.<br/>
                It includes several big fixes, especially on the bundle sync support.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332043" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.3.6 has been released ! <span class="text-muted">May 12, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.6.<br/>
                Apache Karaf Cellar 2.3.6 is a major update on the 2.3.x series branch.<br/>
                It includes several big fixes, especially on the bundle sync support.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12332044" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.4.2 has been released ! <span class="text-muted">April 25, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 2.4.2.<br/>
                This is an update patch for Apache Karaf 2.4.x, containing many bug fixes, dependency updates, and improvements. New feature highlights include: jaas commands to create and list groups, and bundles in etc/startup.properties should not be uninstalled through feature service (protecting essential features from accidental removal).</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329081" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.11 has been released ! <span class="text-muted">April 11, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 2.3.11.<br/>
                This is an update patch for Apache Karaf 2.3.x, containing several bug fixes. Amoung them are a fix for password encryption, txlog files locked during admin clone on windows, and an issue with using LDAPLoginModule with ActiveDirectory is resolved.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329380" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 3.0.2 has been released ! <span class="text-muted">March 27, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cellar 3.0.2.<br/>
                Apache Karaf Cellar 3.0.2 is a major update on the 3.0.x series branch.<br/>
                It includes several big fixes, especially on the Synchronizers.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329262" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.3.5 has been released ! <span class="text-muted">March 27, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.5.<br/>
                Apache Karaf Cellar 2.3.5 is a major update on the 2.3.x series branch.<br/>
                It includes several big fixes, especially on the Synchronizers.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329357" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.0.M2 has been released ! <span class="text-muted">February 13, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 4.0.0.M2.<br/>
                <b>This is a technology preview release of Apache Karaf, and should NOT be considered production ready.</b>
                Apache Karaf 4.0.0.M2 represents a major refactoring of the project, and includes numerous new features. We ask that users provide the community with their feed back so that the full Apache Karaf 4.0.0 release can be as feature complete and stable as possible.<br/>
                The 4.0.x line will ship with OSGi Rev5 support via Felix4.4.1 and Equinox 3.9.1-v20140110-1610, and a completely refactored internal framework without Blueprint for internal usage. From a users point of view these changes will yield a smaller, more efficient Karaf core. There will be a Blueprint feature present in Karaf so that you can easily install Blueprint based applications. You will always be capable of using Blueprint in Karaf. So the main difference from a user perspective is that you’d need to depend on the Blueprint service if you need it. New features since the M1 release include: Support for custom command parsers, a verify-features goal to validate the feature with a real OSGi resolution, and a backing engine serivce for org.apache.karaf.jaas.modules.publickey.PublickeyLoginModule.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12329322" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.10 has been released ! <span class="text-muted">February 6, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 2.3.10.<br/>
                This is an update patch for Apache Karaf 2.3.x, containing several bug fixes, and a dependency update. Amoung them are a fix for when config:edit does not correctly handle configuration visibility for factory calls, when User name/password missing in connection factory created with jms:create, and when admin:stop Command Does Not Zero Out Root Runtime PID. This release contains an update to jandex in hibernate feature to avoid wrapping.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12328939" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.3 has been released ! <span class="text-muted">January 30, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 3.0.3.<br/>
                This is an update patch for Apache Karaf 3.0.x, containing many bug fixes, dependency updates, and improvements. New features highlights include: Spring 4.1.2.Release features, and provides ready to use jpa20 and jpa21 features.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12327341" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 3.0.1 has been released ! <span class="text-muted">January 23, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cellar 3.0.1.<br/>
                These releases are major upgrade of Cellar, including a change in the sync mechanism to provide a better and more predictable behaviour.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12327148" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.3.4 has been released ! <span class="text-muted">January 23, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf Cellar 3.0.1.<br/>
                These releases are major upgrade of Cellar, including a change in the sync mechanism to provide a better and more predictable behaviour.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12328968" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.4.1 has been released ! <span class="text-muted">January 2, 2015</span></h3>
                <p>
                The Karaf team is pleased to announce the availability of Karaf 2.4.1.<br/>
                This is an update patch for Apache Karaf 2.4.x, containing many bug fixes, dependency updates, and improvements. New features highlights include: Regex support in features commands, added an option to uninstall transitive features, and renamed jpa feature as jpa/jpa20 and jpa21.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12327360" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <!-- 2014 -->
              <h2 id="2014" class="pb-3 mb-4 font-italic border-bottom">2014</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.9 has been released ! <span class="text-muted">November 9, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.9.<br/>
                This is an update patch for Apache Karaf 2.3.8, containing several bug fixes, and dependency updates. Amoung them are a fix for when Karaf throws a SocketTimeoutException and exits after 49 days, and env variables can now be read while running Karaf as a Linux service. An important dependency update has been made to Aries JPA API 1.0.2/JPA Runtime 1.0.2/JPA Blueprint Aries 1.0.4/JPA Runtime Context 1.0.4.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12328659" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 4.0.0.M1 has been released ! <span class="text-muted">October 14, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 4.0.0.M1.<br/>
                <b>This is a technology preview release of Apache Karaf, and should NOT be considered production ready.</b>
                Apache Karaf 4.0.0.M1 represents a major refactoring of the project, and includes numerous new features. We ask that users provide the community with their feed back so that the full Apache Karaf 4.0.0 release can be as feature complete and stable as possible.<br/>
                The 4.0.x line will ship with OSGi Rev5 support via Felix4.4.1 and Equinox 3.9.1-v20140110-1610, and a completely refactored internal framework without Blueprint for internal usage. From a users point of view these changes will yield a smaller, more efficient Karaf core. There will be a Blueprint feature present in Karaf so that you can easily install Blueprint based applications. You will always be capable of using Blueprint in Karaf. So the main difference from a user perspective is that you’d need to depend on the Blueprint service if you need it.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12328820" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.2 has been released ! <span class="text-muted">October 13, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 3.0.2.<br/>
                This is an update patch for Apache Karaf 3.0.x, containing many bug fixes, dependency updates, and improvements. New features highlights include: Support of !$ to recall the last command argument, a command to display bundle id, and automatically create data sources from configuration files.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12326261" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.4.0 has been released ! <span class="text-muted">September 20, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.4.0.<br/>
                This release represents a new branch of Apache Karaf development. It includes the latest Aries and Pax libraries, Apache Pom 14, add support for role-based JMX authorization, includes heap dumps when we create debugging data from create dump command, blueprint-web feature, support for JAAS groups, and includes Pax CDI feature. There are several hundred items currently in this RC's release notes, so you'll want to spend some time discovering all the hidden gems.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12323352" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.8 has been released ! <span class="text-muted">September 19, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.8.<br/>
                This is an update patch for Apache Karaf 2.3.7, containing several bug fixes, and dependency updates. We have introduced support of !$ to recall the last command argument, and improved the command description for osgi:shutdown.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12328245" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.7 has been released ! <span class="text-muted">September 6, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.7.<br/>
                This is an update patch for Apache Karaf 2.3.6, containing many bug fixes, dependency updates, and improvements. New features include SyncopeLoginModule, and improved documentation for exposing JAAS BackendEngineFactory services for the login module and configfile override behavoir. This patch contains a high priority bug fix for Windows users experiencing console input issues.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12327382" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.6 has been released ! <span class="text-muted">August 1, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.6.<br/>
                This is an update patch for Apache Karaf 2.3.5, containing many bug fixes, dependency updates, and improvements. New feature highlights include: Automatically create data sources from configuration files, add backing engine serivce for org.apache.karaf.jaas.modules.publickey.PublickeyLoginModule, add a flag to bin/client so that it can read private key from a specified location, and Provide shell:env command.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12326726" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 3.0.0 has been released ! <span class="text-muted">July 4, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cave 3.0.0.<br/>
                This release is the first one of the Cave 3.0.x series, fully compatible with Karaf 3.0.x.<br/>
                It includes major updates and bug fixes.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12327169" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 3.0.0 has been released ! <span class="text-muted">July 27, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 3.0.0.<br/>
                This release is the first one of the Cellar 3.0.x series, fully compatible with Karaf 3.0.x and powered by Hazelcast 3.2.3.<br/>
                It includes major updates and bug fixes.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316442" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Update on the website</h3>
                <p>The Karaf website has changed a little bit. We added a new webpage (accessible directly from the navigation menu on the left) providing an overview of the different Karaf and subprojects branches
                and the releases schedule.<br/>
                The purpose is to give you more visibility on the release dates.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.5 has been released ! <span class="text-muted">May 13, 2014</span></h3>
                <p>This is an update patch for Apache Karaf 2.3.4, containing many bug fixes, dependency updates, and improvements. New feature highlights include: monitoring etc/user.properties with FelixfileInstall, and adding MSSQL datasource type.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12325886" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.1 has been released ! <span class="text-muted">May 13, 2014</span></h3>
                <p>This is an update patch for Apache Karaf 3.0.0, containing many bug fixes, dependency updates, and improvements. New feature highlights include: the addition of Pax CDI to Karaf enterprise feature, monitoring etc/user.properties with FelixfileInstall, and adding MSSQL datasource type.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316945" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.4 has been released ! <span class="text-muted">February 17, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.4.<br/>
                This patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; Clone and status commands for instances, Hibernate feature, improved managment & debugging, and dependency updates to Aries Blueprint core 1.4.0, json 20131018, bndlib 2.2.0, and various updates to maven plugins.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12325003" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cave 2.3.0 has been released ! <span class="text-muted">January 21, 2014</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cave 2.3.0.<br/>
                Karaf Cave provides an OSGi Bundle Repository (OBR), simple Maven repository, and Karaf Features Repository (KFR).<br/>
                OBR provides a service that can automatically install a bundle, with its deployment dependencies, from a bundle
                repository.<br/><br/>
                Apache Karaf Cave provides the following features :</p>
                <ul>
                    <dt>Storage</dt><dl>Karaf Cave provides a filesystem storage. The storage backend is designed with a kind of plugin system, it means that we can change the default filesystem storage by another kind of storage.</dl>
                    <dt>OBR metadata generation</dt><dl>Karaf Cave automatically creates the OBR metadata for you, using the artifacts presents in the Cave repository.</dl>
                    <dt>OBR registration</dt><dl>Karaf Cave allows you to directly register a Cave repository into the OBR RepositoryAdmin OSGi service.</dl>
                    <dt>Artifact upload</dt><dl>You can update any OSGi bundle in a Cave repository, using advanced URL, e.g. mvn:groupId/artifactId/version.</dl>
                    <dt>HTTP Maven/OBR</dt><dl>Karaf Cave provides a HTTP service where you can > Download artifacts and get OBR information.</dl>
                    <dt>"External" repository proxy</dt><dl>You can proxy an existing repository (like a Maven one) into a Cave repository. In that case, the artifacts are still resident on the proxied repository, Cave handles the OBR metadata. Cave supports file: and http: like URL, it means that Cave is able to browse a remote HTTP Maven repository.</dl>
                    <dt>"External" repository population</dt><dl>You can populate your local Cave repository from an external repository. It means that Cave browse the external repository URL (file: or http:), looking for OSGi bundles in the artifacts, and copy the bundles in the Cave repository storage.</dl>
                </ul>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12317874" target="_blank">Release Notes &raquo;</a>
              </div><!-- /.blog-post -->

              <!-- 2013 -->
              <h2 id="2013" class="pb-3 mb-4 font-italic border-bottom">2013</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.0 has been released ! <span class="text-muted">December 24, 2013</span></h3>
                <p>The Karaf team is tremendously pleased to announce the availability of Karaf 3.0.0.<br/>
                This is a major new release of Apache Karaf, containing many refactorings, OSGi rev 5 support, wide ranging dependency upgrades, and new commands.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316040">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.3.2 has been released ! <span class="text-muted">October 14, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.2.<br/>
                This release is the second one on the Cellar 2.3.x branch, fully compatible with the Karaf 2.3.x series. All users of a Karaf 2.3.x have to use this Cellar version.<br/>
                It includes major bug fixes.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12324646">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.3 has been released ! <span class="text-muted">September 20, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.3.<br/>
                This patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; improvements to the service wrapper to detect java, return correct exit codes, have correct karaf.data information on child instances and operate on Solaris, the log command can now list all the logging levels currently set, and dependency updates to Spring 3.2.4.RELEASE, Pax Logging 1.7.1, easymock 3.2, and jasypt 1.9.1.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12324657">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.2 has been released ! <span class="text-muted">July 10, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.2.<br/>
                In this patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; restored IBM Java compatibility, DirectoryWatcher for deploy folder now waits for framework start level to reach 60, BundleWatcher now waits for refresh to be finished before updating another bundle, CXF DOSGI feature now included in Karaf repos config, HTTP feature now installs a default web config file, and dependency updates to Spring 3.2.3.RELEASE, Pax Web 1.1.14, Aries Transaction Blueprint 1.0.1, and Pax Url 1.3.6.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12323383">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.3.1 has been released ! <span class="text-muted">July 1, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.1.<br/>
                This release is the second one on the Cellar 2.3.x branch, fully compatible with the Karaf 2.3.x series. All users of a Karaf 2.3.x have to use this Cellar version.<br/>
                It includes major bug fixes.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12324451">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.3.0 has been released ! <span class="text-muted">May 23, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.3.0.<br/>
                This release is the first one on the Cellar 2.3.x branch, fully compatible with the Karaf 2.3.x series. All users of a Karaf 2.3.x have to use this Cellar version.<br/>
                It includes a lot of bug fixes and new features.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12323370">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.2.6 has been released ! <span class="text-muted">May 23, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.6.<br/>
                This release of Apache Karaf Cellar is considered a high priority update for users of Apache Karaf Cellar 2.2.x. It includes a lot of bug fixes and new features.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12323556">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 3.0.0.RC1 has been released ! <span class="text-muted">March 15, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 3.0.0.RC1.<br/>
                <b>This is a technology preview release of Apache Karaf, and should NOT be considered a production ready version.</b>
                Apache Karaf 3.0.0.RC1 represents a major refactoring of the project, and includes numerous new features. We ask that users provide the community with their feed back so that the full Apache Karaf 3.0.0 release can be as feature complete and stable as possible.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12321742">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.1 has been released ! <span class="text-muted">March 3, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.1.<br/>
                In this patch update to the 2.3.x line contains multiple bug fixes, improvements, and dependency updates including; an upgrade to OSGi spec 4.3.1, Spring 3.1.4.RELEASE, Pax Exam 2.6.0, Pax Web 1.1.12, Jetty 7.6.8.v20121106, Aries Blueprint Core 1.1.0, and fixes to the LDAP login module, improved failover lock logic, removes a console shutdown -f hang, and adds a jre-1.8 to jre.properties.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12321743">Releases Schedule &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf EIK 0.9.0 has been released ! <span class="text-muted">February 17, 2013</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf EIK 0.9.0.<br/>
                This is the first release of Karaf EIK, allowing you to integrate Karaf in your Eclipse environment.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12323286">Releases Schedule &raquo;</a>
              </div>

              <!-- 2012 -->
              <h2 id="2012" class="pb-3 mb-4 font-italic border-bottom">2012</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.10 has been released ! <span class="text-muted">December 21, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.10.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.9. It contains bug fixes identified in the prior release, and introduces improvements including; Making pom.xml eclipse 3.7 m2e friendly, updating Spring to 2.5.6.SEC03, improved terminal behavior when sshing from windows to unix, and improved lock logic to wait while start level change occurs. Several dependencies were also updated, bringing FelixWebconsole to 4.0.0, pax-logging to 1.6.10, pax-web to 1.0.12, and the Apache pom to version 12.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12322541" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.2.5 has been released ! <span class="text-muted">December 6, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.5.<br/>
                This release of Apache Karaf Cellar is based off of the 2.2.x series branch, representing a major update to Apache Karaf Cellar 2.2.4. It contains a lot of bug fixes and some important new features.<br/>
                Especially, the bundle and configuration synchronization mechanism have been improved, the local node state (group, producers, consumers, handlers) is now persistent, the cluster commands and MBeans haven been improved, including the addition of cluster:sync command.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12321268" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.3.0 has been released ! <span class="text-muted">October 15, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.3.0.<br/>
                This release of Apache Karaf sets the stage for the 3.0.x line, introducing OSGi rev 4.3 support, new commands, features, improvements, and a mulititude of dependency updates. At Karaf's core you'll find Equinox 3.8.0.v20120529-1548 and Apache Felixframework 4.0.3. New additions such as Karaf-pax-exam, commands back ported from Karaf 3.x, and command aliases to help make migrating betwen 2.3.x and 3.x easier.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12320554" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Welcome Brian Topping as new Karaf committer ! <span class="text-muted">September 3, 2012</span></h3>
                <p>The Karaf team is pleased to announce Brian Topping as a new committer.<br/>
                Welcome aboard Brian !
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.9 has been released ! <span class="text-muted">August 18, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.9.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.8. It contains bug fixes identified in the prior release, and introduces improvements including; An update to fix a NullPointerException when using JDK 6 update 33 or JDK 7 update5, a new JDBC lock implementation for Postgres, a fix for using version with the wrap protocol, and renaming command-watch to watch. Several dependences were also updated, bringing FelixFramework to 3.2.2, pax-logging to 1.6.9, slf4j to 1.6.6, xbean to 3.11.1, aries proxy to 0.3.1, and a multitude of updates to maven plugins.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12321741" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.8 has been released ! <span class="text-muted">June 25, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.8.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.7. It contains bug fixes identified in the prior release, and introduces improvements including; A command that can not be loaded no longer breaks the whole completion, removing a KAR now uninstalls the shipped features, and SSH keystore is now compatible with IBM JDK. Several dependences were also updated, bringing ServiceMix Specs to version 2.0, pax-logging to 1.6.7, Jansi to 1.9, JLine to 2.7, FelixUtils to 1.2.0, FelixFileInstall to 3.2.4, and sshd to 0.7.0.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12320756" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.2.4 has been released ! <span class="text-muted">May 20, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.4.<br/>
                This release of Apache Karaf Cellar is considered a high priority update for users of Apache Karaf Cellar 2.2.3. It includes a lot of bug fixes and new features.</p>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12319520" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.7 has been released ! <span class="text-muted">April 27, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.7.<br/>
                This release of Apache Karaf is considered a high priority update for users of Apache Karaf 2.2.6. An issue in which configuration updates were not being persisted to storage was detected, an update to FileInstall version 3.2.2 was made necessary. In addition to the above other bug fixes have been resolved, including; updating the features repo pointer for pax-wicket, removing an unnecessary warning on missing repository name when the name is defined however not presently loaded, the SSHD authorized key provider now logs in DEBUG, and SSH now correctly uses the karaf.base variable. A version update to pax web 1.0.9 has also been included in the dependencies.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12320174" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.6 has been released ! <span class="text-muted">April 8, 2012</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.6.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.5. It contains bug fixes identified in the prior release, and introduces improvements including; improved Windows, AIX, HP-UX, and Solaris support in the service wrapper, three new deployer demos showing how to make an OSGi bundle, a features file, and how to wrap a third party jar into a bundle, and support for ssh public key authentication and agent forwarding. A few new commands also appear in this release including; features:status to indicate feature loaded or not, feature:chooseurl to make it easy to install well known feature files, and a watch command to allow users to watch the output of a karaf command like when using the unix watch mechanism. Several dependencies were also updated, bringing Spring to 3.0.7-RELEASE, eventadmin to 1.2.14, Apache Pom to version 10, the maven bundle plugin to 2.3.7, and fileinstall to 3.2.0.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12319142" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.2.3 has been released ! <span class="text-muted">January 20, 2012</span></h3>
                <p>The Karaf tema is pleased to announce the availability of Karaf Cellar 2.2.3.<br/>
                This release of Apache Karaf Cellar is based off of the 2.2.x series branch, representing an update to Apache Karaf Cellar 2.2.2. It contains bug fixes identified in the prior release, and introduces improvements including: cluster group support for bundles, full access on the Hazelcast configuration file, update to Hazelcast 1.9.4.6 and jclouds 1.3.1, first DOSGi support, new samples including usage with Apache Camel, OBR support in clusters.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12317140" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf projects</h3>
                <p>The Karaf team is pleased to announce three new sub-projects: Cave, EIK, WebConsole.
                Take a look on the <a href="projects.html">projects page</a> to have more information.
                We are working to provide a first release of these projects, but the sources are already available.
              </div>

              <!-- 2011 -->
              <h2 id="2011" class="pb-3 mb-4 font-italic border-bottom">2011</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.5 has been released ! <span class="text-muted">December 25, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.5.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.4. It contains bug fixes identified in the prior release, and introduces improvements including; multiple JAAS support improvements, better support for Linux systems with certain versions of libc, SCP support, and demos for extending Karaf's console commands and using Karaf Archives (KARs). Several dependencies were also updated, bringing Pax Web to version 1.0.8, Jetty to 7.5.4.v20111024, and Jasypt to 1.8.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12317857" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.4 has been released ! <span class="text-muted">October 16, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.4.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.3. It contains bug fixes identified in the prior release, and introduces improvements including; significant improvements to KAR support, and new MBeans (such as Dev, HTTP, Log, OBR, Bundles, Services and System). Several dependencies were also updated, bringing Apache FelixGogo to version 0.10.0, and Pax Web to 1.0.7.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12317342" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.3 has been released ! <span class="text-muted">September 1, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.3.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.2. It contains bug fixes identified in the prior release, and introduces improvements including; Optional JDK 7 support, a spring-jms feature, and a macro allowing users to identify the contents of a specific config file. Several dependencies were also updated, bringing Jetty to version 7.4.5.v20110725, Eclispe Equinox to 3.6.2.R36x_v20110210, and Pax web to 1.0.6.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316685" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.6 has been released ! <span class="text-muted">July 17, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.6.<br/>
                This release of Apache Karaf is based off of the 2.1.x series branch, representing an update to Apache Karaf 2.1.5 and the last planned patch to the 2.1.x branch. It contains a few small bug fixes and improvements, including; updated branding-console documentation, a new warning on osgi:shutdown to avoid inadvertently shutting down the container, and a correction to the Oracle JDBC locking mechanism behavior when the locking table is empty.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316340" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Cellar 2.2.2 has been released ! <span class="text-muted">July 10, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf Cellar 2.2.2.<br/>
                This is the first release of Apache Karaf Cellar. Karaf Cellar is clustering solution for Apache Karaf powered by Hazelcast.<br/>
                Karaf Cellar allows you to manage a cluster of Karaf instances, provising synchronisation between instances.<br/>
                This release includes bug fixes and new features like jclouds support.<br/>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316740" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.2 has been released ! <span class="text-muted">July 3, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.2.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.1. It contains bug fixes identified in the prior release, and introduces improvements including; improved behavior for the OracleDB locking mechanism and http feature jetty port usage. Several improvements to the shell have been incorporated, such as completion for shell aliases and a warning on osgi:shutdown to avoid inadvertently shutting down the container. There has also been a few small dependency upgrades to felix event admin, Pax URL, and jetty.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316339" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.1 has been released ! <span class="text-muted">May 15, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.1.<br/>
                This release of Apache Karaf is based off of the 2.2.x series branch, representing an update to Apache Karaf 2.2.0. It contains bug fixes identified in the prior release, and introduces improvements including; updates to pax-logging, pax-runner, pax-web, jetty, and felix versions. The config commands have has been updated, and kar features are now in features-maven-plugin.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316164" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.5 has been released ! <span class="text-muted">April 30, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.5.<br/>
                This release of Apache Karaf is based off of the 2.1.x series branch, representing an update to Apache Karaf 2.1.4. It contains several bug fixes identified in the prior release, including; improved Eclipse console karaf shell output, handling TAB characters in feature repository to avoid resoultion errors when adding features to repo, and multiple fixes to the config shell. IMPORTANT: This patch release also updates the FelixFramework from version 3.0.2 to 3.0.9.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316170" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.2.0 has been released ! <span class="text-muted">February 28, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.2.0.<br/>
                This release of Apache Karaf contains a multitude of new features, improvements, and bug fixes. Some highlights include many new or updated commands, a LDAP JAAS module with login support, an updated feature service, a feature for Aries transaction, JPA & JNDI modules, expanded documentation, and new versions of most dependencies. The help system and manual have also undergone major updates. Please note that if you are using pax-exam with scanFeatures that you also have to upgrade pax-exam to the latest version.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12315328" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.4 has been released ! <span class="text-muted">February 15, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.4.<br/>
                This release of Apache Karaf is based off of the 2.1.x series branch, representing an update to Apache Karaf 2.1.3. It contains several bug fixes identified in the prior release, and introduces several improvements including; better behavior of the features-maven-plugin, documentation for making multiple configuration files available to the bundle context, and a more efficient bundle description for header display.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12316042" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.3 has been released ! <span class="text-muted">January 11, 2011</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.3.<br/>
                This release of Apache Karaf is based off of the 2.1.x series branch, representing an update to Apache Karaf 2.1.2. It contains several bug fixes identified in the prior release, and updates the versions of SLF4j, pax-url-mvn, spring, and pax-exam. For more detail please see the change log below.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12315573" target="_blank">Release Notes &raquo;</a>
              </div>

              <!-- 2010 -->
              <h2 id="2010" class="pb-3 mb-4 font-italic border-bottom">2010</h2>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.2 has been released ! <span class="text-muted">November 25, 2010</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.2.<br/>
                This release of Apache Karaf is based off of the 2.1.x series branch, representing an update to Apache Karaf 2.1.1. It contains several bug fixes identified in the prior release, and updates the pax-url version.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12315566" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.1 has been released ! <span class="text-muted">November 14, 2010</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.1.<br/>
                This release of Apache Karaf is based off of the 2.1.x series branch, representing an update to Apache Karaf 2.1.0. It contains multiple bug fixes, while introducing a minimal number of changes to dependencies from our last release.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12315433" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.1.0 has been released ! <span class="text-muted">September 24, 2010</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.1.0.<br/>
                New to this release of Apache Karaf is a JAAS Database Login Module, a way to store passwords in a secured way, a mechanism that allows a karaf application to distinguish between UserPrincipal and RolePrincipal without depending from the Karaf JAAS Module.<br/>
                The shell console has been enhanced to be available in a plain non-OSGi environment and smart tab completion has been improved, along with various commands.<br/>
                We have also resolved a number of outstanding issues, and improved support on OS X and IBM Java based systems.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12315208" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf Runtime 2.0.0 has been released ! <span class="text-muted">July 23, 2010</span></h3>
                <p>The Karaf team is pleased to announce the availability of Karaf 2.0.0.<br/>
                This release is our first as a top level apache project, and includes a number of new features, improvements and bug fixes.</p>
                <a class="btn btn-outline-primary" href="/documentation.html">Download &raquo;</a>
                <a class="btn btn-outline-primary" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12315145" target="_blank">Release Notes &raquo;</a>
              </div>

              <div class="pb-4 mb-3">
                <h3 class="text-dark">Karaf is now a TLP</h3>
                <p>Today, the Apache Software Foundation board has just established Karaf as a new Top Level Project.<br/>
                The whole community is thrilled and will strive to make the project even better and more successful.</p>
              </div>

            </div><!-- /.blog-main -->

            <aside class="col-md-2">
              <div class="p-3">
                <h4 class="font-italic">Archives</h4>
                <ol class="list-unstyled mb-0">
                    <li><a href="#2020">2020</a></li>
                    <li><a href="#2019">2019</a></li>
                    <li><a href="#2018">2018</a></li>
                    <li><a href="#2017">2017</a></li>
                    <li><a href="#2016">2016</a></li>
                    <li><a href="#2015">2015</a></li>
                    <li><a href="#2014">2014</a></li>
                    <li><a href="#2013">2013</a></li>
                    <li><a href="#2012">2012</a></li>
                    <li><a href="#2011">2011</a></li>
                    <li><a href="#2010">2010</a></li>
                </ol>
              </div>
            </aside><!-- /.blog-sidebar -->
        </div>

      </div><!-- /.container -->
</main>
