<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--

    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       https://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
  <head>
    <title>Apache Felix - News</title>
    <link rel="icon" href="/res/favicon.ico">
    <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
    <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  </head>
  <body>
    <div class="title">
      <div class="logo">
        <a href="https://felix.apache.org/">
          <img border="0" alt="Apache Felix" src="/res/logo.png">
        </a>
      </div>
      <div class="header">
        <a href="https://www.apache.org/">
          <img border="0" alt="Apache" src="/res/apache.png">
        </a>
      </div>
    </div>
    
    <div class="menu"> 
      <style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<p><a href="/news.html">News</a>  <br />
<a href="/license.html">License</a>  <br />
<a href="/downloads.cgi">Downloads</a>  <br />
<a href="/documentation.html">Documentation</a>  <br />
<a href="/documentation/community/project-info.html">Project Info</a>  <br />
<a href="/documentation/community/contributing.html">Contributing</a>  <br />
<a href="/sitemap.html">Site Map</a>  <br />
<a href="https://www.apache.org/">ASF</a>  <br />
<a href="https://www.apache.org/security/">Security</a>  <br />
<a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>  <br />
<a href="https://www.apache.org/foundation/thanks.html">Sponsors</a>    </p>
<iframe
    src="https://www.apache.org/ads/button.html"
    style="border-width:0; float: left"
    frameborder="0"
    scrolling="no"
    width="135"
    height="135">
</iframe>
    </div>
    
    <div class="main">
      <div class="breadcrump" style="font-size: 80%;">
        <a href="/">Home</a>
      </div>

      <h1>News</h1>
      <style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<ul>
<li>Apache Felix Event Admin 1.6.2 released (January 11th 2021)</li>
<li>Apache Felix Configadmin 1.9.20 released (January 7th, 2021)</li>
<li>Apache Felix Framework 7.0.0 and Framework Security 2.8.0 released (December 25th, 2020)</li>
<li>Apache Felix Webconsole 4.6.0 and EventAdmin 1.6.0 released (December 17th, 2020)</li>
<li>Apache Felix Framework 6.0.4 and Resolver 2.0.2 released (December 15th, 2020)</li>
<li>Apache Felix Http Jetty 4.1.4 (November 28th, 2020)</li>
<li>Apache Felix Gogo - Jline 1.1.8, BOM 1.0.6</li>
<li>Apache Felix Http Jetty 4.1.2, Http Bridge 4.1.2, and Http Base 4.1.2 (October 11th, 2020)</li>
<li>Apache Felix Gogo - Runtime 1.1.4, Shell 1.1.4, Command 1.1.2, BOM 1.0.4</li>
<li>Apache Felix Http Jetty 4.1.0, Http Bridge 4.1.0, and Http Base 4.1.0 (September 26th, 2020)</li>
<li>Apache Felix Configurator 1.0.12 (July 23rd, 2020)</li>
<li>Apache Felix Webconsole 4.5.4, Configadmin 1.9.18, and Http Jetty 4.0.20 (July 20th, 2020)</li>
<li>Apache Felix Maven Bundle Plugin 5.1.1 (July 14th, 2020)</li>
<li>Apache Felix Health Check API 2.0.4, Health Check Core 2.0.8, Health Check General Checks 2.0.6, Health Check Webconsole Plugin 2.0.2 (July 14th, 2020)</li>
<li>Apache Felix Webconsole 4.5.2 (May 8th, 2020)</li>
<li>Apache Felix Webconsole 4.5.0 (April 27th, 2020)</li>
<li>Apache Felix CM Json 1.0.2 (April 23rd, 2020)</li>
<li>Apache Felix SCR 2.1.20 (April 20th, 2020)</li>
<li>Apache Felix CM Json 1.0.0 (April 20th, 2020)</li>
<li>Apache Felix SCR 2.1.18, Http Jetty 4.0.18, Http Bridge 4.0.12, Http Base 4.0.10 (April 16th, 2020)</li>
<li>Apache Felix Configuration Admin Values Interpolation Plugin 1.1.0 (March 2nd, 2020)</li>
<li>Apache Felix Configuration Admin Values Interpolation Plugin 1.0.0 (January 13th, 2020)</li>
<li>Apache Felix SCR Maven Plugin 1.26.4, BND SCR Plugin 1.9.6, SCR Generator 1.8.4 (December 7th, 2019)</li>
<li>Apache Felix Http Jetty 4.0.14 (September 15th, 2019)</li>
<li>Apache Felix Http Jetty 4.0.12, Http Base 4.0.8, Http Bridge 4.0.10 (September 7th, 2019)</li>
<li>Apache Felix Log 1.2.2 (August 30th, 2019)</li>
<li>Apache Felix Maven Bundle Plugin 4.2.1 (August 19th, 2019)</li>
<li>Apache Felix ConfigAdmin 1.9.16, Configurator 1.0.10, Http Jetty 4.0.10 and Http Bridge 4.0.8 released (June 18th, 2019)</li>
<li>Apache Felix WebConsole 4.3.12 (May 27th, 2019)</li>
<li>Apache Felix WebConsole 4.3.10 (May 20th, 2019)</li>
<li>Apache Felix Health Check API 2.0.2, Health Check Core 2.0.6 (May 20th, 2019)</li>
<li>Apache Felix Http Proxy 3.0.6 (May 15th, 2019)</li>
<li>Apache Felix Health Check Core 2.0.4, Health Check General Checks 2.0.4 (May 13th, 2019)</li>
<li>Apache Felix SCR Generator 1.18.2, SCR Bnd Plugin 1.9.4, Maven SCR Plugin 1.26.2 (May 9th, 2019)</li>
<li>Apache Felix Framework 6.0.3 released (May 2nd, 2019)</li>
<li>Apache Felix Converter 1.0.8 released (April 23rd, 2019)</li>
<li>Apache Felix Maven Bundle Plugin 4.2.0 released (April 8th, 2019)</li>
<li>Apache Felix Health Check Core 2.0.2 released (April 5nd, 2019)</li>
<li>Apache Felix WebConsole Memory Plugin 1.0.10 released (April 2nd, 2019)</li>
<li>Apache Felix Health Check General Checks 2.0.2, Root Cause Analysis 0.1.0 (March 27th, 2019)</li>
<li>Apache Felix Http Jetty 4.0.8, Apache Felix Http Bridge 4.0.6 and Apache Felix Http Base 4.0.6 released (March 1st, 2019)</li>
<li>Apache Felix SCR 2.1.16 released (February 26th, 2019)</li>
<li>Apache Felix Health Check Annotations 2.0.0, Health Check API 2.0.0, Health Check Core 2.0.0, Health Check General Checks 2.0.0, Health Check Webconsole Plugin 2.0.0 released (February 25th, 2019)</li>
<li>Apache Felix Configuration Admin 1.9.12 release (February 24th, 2019)</li>
<li>Apache Felix Framework 6.0.2 released (January 31th, 2019)</li>
<li>Apache Felix Bnd SCR Plugin 1.9.2 (January 26th, 2019)</li>
<li>Apache Felix Dependency Manager r15 (December 23rd, 2018)</li>
<li>Apache Felix Dependency Manager r14 (December 2nd, 2018)</li>
<li>Apache Felix Configurator 1.0.8 released (November 18th, 2018)</li>
<li>Apache Felix SCR 2.1.14 released (November 13th, 2018)</li>
<li>Apache Felix Dependency Manager r13 (October 22nd, 2018)</li>
<li>Apache Felix Felix Http SSL Filter 1.2.6 released (October 18th, 2018)</li>
<li>Apache Felix SCR 2.1.12 released (October 17th, 2018)</li>
<li>Apache Felix ConfigAdmin 1.9.10 released (October 17th, 2018)</li>
<li>Apache Felix SCR 2.1.10 released (October 8th, 2018)</li>
<li>Apache Felix ConfigAdmin 1.9.8 released (October 8th, 2018)</li>
<li>Apache Felix Metatype 1.2.2 released (September 26th, 2018)</li>
<li>Apache Felix SCR 2.1.8, Apache Felix DS Webconsole Plugin 2.1.0, Apache Felix Configurator 1.0.6, and Apache Felix OSGi Check Maven Plugin 0.1.0 (September 23rd, 2018)</li>
<li>Apache Felix Http Jetty 4.0.6, Apache Felix Http Bridge 4.0.4, Apache Felix Http Proxy 3.0.4, Apache Felix Http Base 4.0.4 released (September 20th, 2018)</li>
<li>Apache Felix Config Admin 1.9.6 released (September 17th, 2018)</li>
<li>Apache Felix Web Console 4.3.8 (September 14th, 2018)</li>
<li>Apache Felix Framework 6.0.1 and Framework Security 2.6.1 released (August 20th, 2018)</li>
<li>Apache Felix SCR 2.1.6 released (August 20th, 2018)</li>
<li>Apache Felix Configurator 1.0.4 released (August 10th, 2018)</li>
<li>Apache Felix Http Jetty 4.0.4, Http Bridge 4.0.2 and Http Base 4.0.2 released (August 6th, 2018)</li>
<li>Apache Felix SCR 2.1.2 released (August 6th, 2018)</li>
<li>Apache Felix Configuration Admin 1.9.4 released (August 3rd, 2018)</li>
<li>Apache Felix Configurator 1.0.2 released (July 29th, 2018)</li>
<li>Apache Felix Http Jetty 4.0.2 released (July 13th, 2018)</li>
<li>Apache Felix Log Service 1.2.0 and Log Service Framework Extension 1.0.0 released (July 13th, 2018)</li>
<li>Apache Felix Framework 6.0.0 and Resolver 2.0.0 released (July 6th, 2018)</li>
<li>Apache Felix Logback Bundle 1.0.0 released (June 25th, 2018)</li>
<li>Apache Felix Maven Bundle Plugin 3.5.1 (June 19th, 2018)</li>
<li>Apache Felix Gogo 1.1.0 (Runtime, Jline, Shell) released (June 14th, 2018)</li>
<li>Apache Felix Connect 0.2.0 released (May 28th, 2018)</li>
<li>Apache Felix Config Admin 1.9.2 released (May 26th, 2018)</li>
<li>Apache Felix Event Admin 1.5.0 and Apache Felix Metatype 1.2.0 released (May 6th, 2018)</li>
<li>Apache Felix Utils 1.11.0 released (May 5th, 2018)</li>
<li>Apache Felix SCR 2.1.0, Apache Felix Config Admin 1.9.0, Apache Felix Configurator 1.0.0, Apache Felix Http Jetty 4.0.0, Apache Felix Http Bridge 4.0.0, Apache Felix Http Base 4.0.0, and Apache Felix Http Whiteboard 4.0.0 released (April 30th, 2018)</li>
<li>Apache Felix Converter 1.0.0 released (April 26th, 2018)</li>
<li>Apache Felix Resolver 1.16.0 released (March 13th, 2018)</li>
<li>Apache Felix WebConsole Memory Plugin 1.0.8 released (February 28th, 2018)</li>
<li>Apache Felix Maven SCR Plugin 1.26.0, Apache Felix SCR Generator 1.18.0, Apache Felix SCR Ant Task 1.18.0, and Apache Felix SCR Bnd Plugin 1.9.0 released (January 15th, 2018)</li>
<li>Apache Felix Maven Bundle Plugin 3.5.0 released (January 6th, 2018)</li>
<li>Apache Felix SCR 2.0.14 and Maven Bundle Plugin 3.4.0 released (December 18th, 2017)</li>
<li>Apache Felix Http Jetty 3.4.8 released (December 12th, 2017)</li>
<li>Apache Felix Inventory 1.0.6 released (December 12th, 2017)</li>
<li>Apache Felix Http SslFilter 1.2.4 released (December 1st, 2017)</li>
<li>Apache Felix Framework 5.6.10 released (November 13th, 2017)</li>
<li>Apache Felix Http Jetty 3.4.6 (November 5th, 2017)</li>
<li>Apache Felix Metatype 1.1.6 (October 1st, 2017)</li>
<li>Apache Felix Maven SCR Plugin 1.25.0, Apache Felix SCR Generator 1.17.0, Apache Felix SCR Bnd Plugin 1.8.0, Apache Felix Webconsole DS Plugin 2.0.8, Apache Felix Webconsole Event Plugin 1.1.8 (September 30th, 2017)</li>
<li>Apache Felix SCR DS Annotations 1.2.10, Apache Felix Utils 1.10.2, Apache Felix FileInstall 3.6.2 (September 11th, 2017)</li>
<li>Apache Felix Gogo Runtime 1.0.8, Apache Felix Gogo JLine 1.0.8 (September 11th, 2017)</li>
<li>Apache Felix Eventadmin 1.4.10 and Apache Felix Metatype 1.1.4 (September 1st, 2017)</li>
<li>Apache Felix Framework 5.6.8 released (August 25th, 2017)</li>
<li>Apache Felix Config Admin 1.8.16 (August 7th, 2017)</li>
<li>Apache Felix Framework 5.6.6 released (July 31st, 2017)</li>
<li>Apache Felix Http Jetty 3.4.4 (July 14th, 2017)</li>
<li>Apache Felix Http SSLFilter 1.2.2 (July 10th, 2017)</li>
<li>Apache Felix Dependency Manager r11 (July 1, 2017)</li>
<li>Apache Felix SCR 2.0.12 (June 26th, 2017)</li>
<li>Apache Felix Framework 5.6.4 and Resolver 1.14.0 released (May 24th, 2017)</li>
<li>Apache Felix Web Console 4.3.4 (May 12th, 2017)</li>
<li>Apache Felix Web Console 4.3.2, Apache Felix WebConsole OBR Plugin 1.0.4 (May 9th, 2017)</li>
<li>Apache Felix Utils 1.10.0, Apache Felix FileInstall 3.6.0 (May 9th, 2017)</li>
<li>Apache Felix Gogo Runtime 1.0.6, Apache Felix Gogo JLine 1.0.6 (May 9th, 2017)</li>
<li>Apache Felix SCR 2.0.8 (April 28th, 2017)</li>
<li>Apache Felix Maven Bundle Plugin 3.3.0 (March 13th, 2017)</li>
<li>Apache Felix Framework 5.6.2 and Resolver 1.12.0 released (February 20th, 2017)</li>
<li>Apache Felix Web Console Event Plugin 1.1.6 and Apache Felix Web Console PackageAdmin Plugin 1.0.4 (February 20, 2017)</li>
<li>Apache Felix Web Console 4.3.0 (February 17, 2017)</li>
<li>Apache Felix Dependency Manager r9 is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section. (February 14, 2017)</li>
<li>Apache Felix Utils 1.9.0 (February 13, 2017)</li>
<li>Apache Felix Config Admin 1.8.14 (February 2, 2017)</li>
<li>Apache Felix JAAS 1.0.0 (January 30, 2017)</li>
<li>Apache Felix DS Webconsole Plugin 2.0.6 (January 24, 2017)</li>
<li>Apache Felix SCR 2.0.8, Apache Felix DS Webconsole Plugin 2.0.4, Apache Felix Utils 1.8.6 (January 16, 2017)</li>
<li>Apache Felix Web Console 4.2.18 (January 13, 2017)</li>
<li>Apache Felix Http Jetty 3.4.2, Apache Felix Http Bridge 3.0.18, and Apache Felix Http Base 3.0.18 (January 06, 2017)</li>
<li>Apache Felix SCR bnd Plugin 1.7.2 (January 02, 2017)</li>
<li>SCR Tooling: Apache Felix Maven SCR Plugin 1.24.0, Apache Felix SCR Ant Task 1.17.0, Apache Felix SCR bnd Plugin 1.7.0 and Apache Felix SCR Generator 1.16.0 released (December 24, 2016)</li>
<li>Apache Felix HttpLite 0.1.5 (November 30th, 2016)</li>
<li>Apache Felix Resolver 1.10.1 released (November 7th, 2016)</li>
<li>Apache Felix Config Admin 1.8.12 (October 25th, 2016)</li>
<li>Apache Felix Framework 5.6.1 released (October 24th, 2016)</li>
<li>SCR Tooling: Apache Felix Maven SCR Plugin 1.23.0, Apache Felix SCR bnd Plugin 1.6.0, Apache Felix SCR Ant Task 1.16.0, Apache Felix SCR Annotations 1.12.0, and Apache Felix SCR Generator 1.15.0 released (October 18th, 2016)</li>
<li>Apache Felix Preferences 1.1.0 (October 15th, 2016)</li>
<li>Apache Felix Http Jetty 3.4.0, Apache Felix Http Bridge 3.0.16, and Apache Felix Http Base 3.0.16 (October 8th, 2016)</li>
<li>Apache Felix Framework 5.6.0, Framework Security 2.6.0, and Resolver 1.10.0 released (September 25th, 2016).</li>
<li>Apache Felix Http SSLFilter 1.2.0 (August 29th, 2016)</li>
<li>Apache Felix Event Admin 1.4.8 (August 15th, 2016)</li>
<li>Apache Felix Http Jetty 3.2.4, Apache Felix Http Bridge 3.0.12, and Apache Felix Http Base 3.0.12 (August 12th, 2016)</li>
<li>Apache Felix Http SSLFilter 1.1.0 (August 12th, 2016)</li>
<li>Apache Felix SCR 2.0.6 (August 6th, 2016)</li>
<li>Apache Felix Http SSLFilter 1.0.8 (August 5th, 2016)</li>
<li>Apache Felix Http Jetty 3.2.2, Apache Felix Http Bridge 3.0.10, and Apache Felix Http Base 3.0.10 (July 21st, 2016)</li>
<li>Apache Felix Maven Bundle Plugin 3.2.0 (July 18th, 2016)</li>
<li>Apache Felix SCR Annotations 1.11.0 (July 14th, 2016)</li>
<li>Apache Felix Config Admin 1.8.10, Apache Felix SCR Compat 1.0.4, and Apache Felix SCR Extension Annotations 1.0.0 (July 10th, 2016)</li>
<li>Apache Felix SCR 2.0.4 (July 8th, 2016)</li>
<li>Apache Felix Http SSLFilter 1.0.6 (June 22nd, 2016)</li>
<li>Apache Felix Web Console 4.2.16 (June 3rd, 2016)</li>
<li>SCR Tooling: Apache Felix SCR bnd Plugin 1.5.0 released (May 28, 2016)</li>
<li>SCR Tooling: Apache Felix Maven SCR Plugin 1.22.0, Apache Felix SCR Ant Task 1.15.0, Apache Felix SCR Annotations 1.10.0, and Apache Felix SCR Generator 1.14.0 released (May 18, 2016)</li>
<li>Apache Felix Bundle Repository 2.0.8 and Apache Felix File Install 3.5.4 (April 4, 2016)</li>
<li>Apache Felix Http Jetty 3.2.0, Apache Felix Http Bridge 3.0.8, Apache Felix Http Proxy 3.0.2, and Apache Felix Http Base 3.0.8 (April 1, 2016)</li>
<li>Apache Felix Dependency Manager r8 is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section. (March 06, 2016)</li>
<li>Apache Felix AutoConf resource processor 0.1.8 and Felix DeploymentAdmin 0.9.10 released (January 20, 2016)</li>
<li>Apache Felix Utils 1.8.2, EventAdmin 1.4.6, FileInstall 3.5.2 (January 19, 2016)</li>
<li>Apache Felix Http Jetty 3.1.6, Apache Felix Http Bridge 3.0.6 and Apache Felix Http Base 3.0.6 (January 9, 2016)</li>
<li>Apache Felix JAAS Support 0.0.4, and Apache Felix Script Console Plugin 1.0.2 (December 03, 2015)</li>
<li>Apache Felix Dependency Manager r6 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (December 01, 2015)</li>
<li>Apache Felix Http Jetty 3.1.4, Apache Felix Http Bridge 3.0.4, and Apache Felix Http Base 3.0.4 (November 29, 2015)</li>
<li>Apache Felix Coordinator 1.0.2 released (November 16, 2015)</li>
<li>Apache Felix Web Console Subsystem plugin 0.1.0 released (November 16, 2015)</li>
<li>Maven Bundle Plugin 3.0.1 (November 13, 2015)</li>
<li>The Framework 5.4.0 as well as the Resolver 1.8.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 16, 2015) </li>
<li>Apache Felix Http Jetty 3.1.2, Apache Felix Http Bridge 3.0.2, and Apache Felix Http Base 3.0.2 (October 13, 2015)</li>
<li>Apache Felix Web Console 4.2.14 (October 6, 2015)</li>
<li>Apache Felix Gogo Command 0.16.0 and Apache Felix Gogo Shell 0.12.0 (October 5, 2015)</li>
<li>Maven Bundle Plugin 3.0.0 and Apache Felix Bundle Repository 2.0.6 (September 25, 2015)</li>
<li>Apache Felix Web Console 4.2.12, Apache Felix Web Console Event Plugin 1.1.4, Apache Felix Web Console Package Admin Plugin 1.0.2 (September 23, 2015)</li>
<li>Apache Felix SCR 2.0.2, Apache Felix DS Webconsole Plugin 2.0.2, Apache Felix SCR Compat 1.0.2 (September 19, 2015)</li>
<li>Apache Felix Http SslFilter 1.0.4 (September 17, 2015)</li>
<li>The Framework 5.2.0 as well as the resolver 1.6.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 30, 2015)</li>
<li>Apache Felix Threaddump 1.0.0 (August 28, 2015)</li>
<li>Apache Felix Http Proxy 3.0.0 and Apache Felix Http Bridge 3.0.0 (August 17, 2015)</li>
<li>Apache Felix Metatype 1.1.2 (August 14, 2015)</li>
<li>Apache Felix SCR 2.0.0 implementing OSGi Declarative Services 1.3 (R6), Apache Felix DS Webconsole Plugin 2.0.0, Apache Felix SCR Compat 1.0.0 (August 11, 2015)</li>
<li>Apache Felix ConfigAdmin 1.8.8, Apache Felix Metatype 1.1.0 and Apache Felix EventAdmin 1.4.4 (August 10, 2015)</li>
<li>Apache Felix Http Service including support for the new R6 Http Whiteboard Service: Apache Felix Http API 3.0.0, Apache Felix Http Jetty 3.1.0, Apache Felix Http Base 3.0.0, Apache Felix Http Servlet API 1.1.2, Apache Felix Http Sslfilter 1.0.2, and Apache Felix Http Whiteboard 3.0.0 (August 10, 2015)</li>
<li>Apache Felix WebConsole 4.2.10 (July 20, 2015)</li>
<li>The Framework 5.0.1 as well as the resolver 1.4.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 21, 2015)</li>
<li>Apache Felix Dependency Manager 4 (top level release R5) is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (June 09, 2015)</li>
<li>Apache Felix Config Admin 1.8.6 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (May 29, 2015)</li>
<li>Apache Felix Connect 0.1.0  (May 28, 2015)</li>
<li>Apache Felix Config Admin 1.8.4 (May 29, 2015)</li>
<li>Apache Felix Maven Bundle Plugin 2.5.4 (April 27, 2015)</li>
<li>Apache Felix WebConsole Memory Plugin 1.0.6 and SCR Tooling:  Apache Felix Maven SCR Plugin 1.21.0, Apache Felix SCR Ant Task 1.14.0, Apache Felix SCR bnd Plugin 1.4.0, Apache Felix SCR Annotations 1.9.12, and Apache Felix SCR Generator 1.13.0 released (April 27, 2015)</li>
<li>The Framework 5.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 24, 2015)</li>
<li>The Apache Felix Resolver 1.2.0 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (April 24, 2015)</li>
<li>Apache Felix Metatatype 1.0.12 (April 18, 2015)</li>
<li>Apache Felix Dependency Manager 4 (top level release R2) is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (March 24, 2015)</li>
<li>Apache Felix Web Console 4.2.8, Apache Felix Web Console Plugin UPNP 1.0.6, and Apache Felix Web Console Plugin User Admin 1.0.2 (March 17, 2015)</li>
<li>Apache Felix Dependency Manager 4 (top level release R1) is now available from in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (March 11, 2015)</li>
<li>Apache Felix Config Admin 1.8.2, Apache Felix File Install 3.5.0, Apache Felix Bundle Repository 2.0.4, Apache Felix Utils 1.8.0, Apache Felix Gogo Runtime 0.16.2 (March 10, 2015)</li>
<li>The Framework 4.6.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 08, 2015)</li>
<li>Apache Felix HTTP Jetty 3.0.2 (February 5, 2015)</li>
<li>Apache Felix HTTP 2.4.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository (February 2, 2015)</li>
<li>Apache Felix Web Console 4.2.6 (January 30, 2015)</li>
<li>The Framework 4.6.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 15, 2015)</li>
<li>Apache Felix SCR Annotations 1.9.10 (January 9, 2015)</li>
<li>Apache Felix iPOJO Manipulator and Runtime 1.12.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (December 24, 2014)</li>
<li>Apache Felix HTTP 2.3.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository (November 11, 2014)</li>
<li>Apache Felix Event Admin 1.4.2 (September 14, 2014)</li>
<li>Apache Felix Maven Bundle Plugin 2.5.3 (August 31, 2014)</li>
<li>Apache Felix Maven Bundle Plugin 2.5.2 (August 27, 2014)</li>
<li>Apache Felix Maven SCR Plugin 1.20.0, and Apache Felix Event Admin 1.4.0 released (August 25, 2014)</li>
<li>Apache Felix SCR Tooling: Apache Felix Maven SCR Plugin 1.19.0, Apache Felix SCR Ant Task 1.13.0, Apache Felix SCR bnd Plugin 1.3.0, Apache Felix SCR DS Annotations 1.2.8, and Apache Felix SCR Generator 1.12.0 (Jul 31, 2014)</li>
<li>Apache Felix WebConsole OBR Plugin 1.0.2 is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 25, 2014)</li>
<li>Apache Felix Dependency Manager 3.2.0 is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 21, 2014)</li>
<li>The Framework 4.4.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 14, 2014)</li>
<li>Apache Felix Maven Bundle Plugin 2.5.0 is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 26, 2014)</li>
<li>Apache Felix Bundle Repository (OBR) 2.0.2 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 26, 2014)</li>
<li>Gogo Runtime 0.12.1 and Command 0.14.0 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 23, 2014)</li>
<li>Apache Felix HTTP Service 2.3.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (June 13, 2014)</li>
<li>Apache Felix SCR Tooling: Apache Felix Maven SCR Plugin 1.17.0, Apache Felix SCR Ant Task 1.11.0, Apache Felix SCR bnd Plugin 1.1.0, and Apache Felix SCR Generator 1.10.0 (May 22, 2014)</li>
<li>Apache Felix iPOJO Manipulator and Runtime 1.12.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (May 17, 2014)</li>
<li>Apache Felix FileInstall 3.4.0 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository (April 22, 2014)</li>
<li>Apache Felix DeploymentAdmin 0.9.6 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository (April 1, 2014)</li>
<li>The Framework 4.4.0 and Framework Security 2.4.0 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (March 25, 2014)</li>
<li>Apache Felix SCR Tooling: Apache Felix Maven SCR Plugin 1.16.0, Apache Felix SCR Ant Task 1.10.0, Apache Felix SCR bnd Plugin 1.0.0, Apache Felix SCR Annotations 1.9.8, and Apache Felx SCR Generator 1.9.0 (March 16, 2014)</li>
<li>Apache Felix iPOJO Manipulator and Runtime 1.11.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (March 15, 2014)</li>
<li>Apache Felix Inventory 1.0.4 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (March 3, 2014)</li>
<li>Apache Felix Jaas 0.0.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (Feburary 17, 2014)</li>
<li>Apache Felix Inventory 1.0.2 and Apache Felix Web Console 4.2.2 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (Feburary 06, 2014)</li>
<li>The Apache Felix iPOJO Runtime and Manipulator 1.11.1 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 29, 2014)</li>
<li>Apache Felix Coordinator 1.0.0, and Apache Felix Metatype 1.0.10 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (January 19, 2014)</li>
<li>Apache Felix DeploymentAdmin 0.9.5 and Felix AutoConf Processor 0.1.5 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (December 10, 2013)</li>
<li>Apache Felix HTTP Service 2.2.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (December 10, 2013)</li>
<li>The Apache Felix iPOJO Runtime and Manipulator 1.11.0 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 12, 2013)</li>
<li>The Apache Felix SCR Generator 1.8.2, Maven SCR Plugin 1.15.0, and SCR Ant Task 1.9.0 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 04, 2013)</li>
<li>Apache Felix Configuration Admin version 1.8.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 28, 2013)</li>
<li>Apache Felix Service Diagnostics WebConsole plugin 0.1.3 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (September 27, 2013)</li>
<li>Apache Felix HTTP Service 2.2.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (September 27, 2013)</li>
<li>Apache Felix Metatype Service 1.0.8 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (September 16, 2013)</li>
<li>Apache Felix Preferences Service 1.0.6 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (August 12, 2013)</li>
<li>Apache Felix Web Console Event Plugin 1.1.0 has been released and is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 02, 2013)</li>
<li>The Apache Felix SCR Generator 1.8.0, Maven SCR Plugin 1.14.0, SCR Ant Task 1.8.0, SCR DS Annotations 1.2.4 ,and SCR Annotations 1.9.6 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 02, 2013)</li>
<li>The <a href="https://felix.apache.org/documentation/subprojects/apache-felix-script-console-plugin.html">Apache Felix Script Console Plugin</a> (1.0.0) is now avialable in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (July 30,2013)</li>
<li>The Apache Felix iPOJO Manipulator (1.10.1) and Runtime (1.10.1) are now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (June 29, 2013)</li>
<li>The Apache Felix Maven Bundle Plugin 2.4.0 is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 12, 2013)</li>
<li>The Apache Felix SCR Generator 1.7.0, Maven SCR Plugin 1.13.0, SCR Ant Task 1.7.0 ,and SCR Annotations 1.9.4 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 06, 2013)</li>
<li>The Apache Felix Deployment Admin 0.9.4 and Auto Configuration 0.1.4 are now available in the <a href="/downloads.cgi">downloads</a> section and from the Maven repository.</li>
<li>The Apache Felix iPOJO Manipulator (1.10.0), Runtime (1.10.0), Arch command for Gogo (1.1.0) and Web Console Plugin (1.7.0) are now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (May 25, 2013)</li>
<li>The Apache Felix Resolver 1.0.0 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (April 10, 2013)</li>
<li>The Framework 4.2.1 and Framework Security 2.2.0 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (March 13, 2013)</li>
<li>The Apache Felix SCR Generator 1.4.0, Maven SCR Plugin 1.10.0, SCR Ant Task 1.4.0, SCR Annotations 1.8.0, and SCR DS Annotations 1.0.2 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (Februrary 18, 2013)</li>
<li>The Framework 4.2.0 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (February 12, 2013)</li>
<li>The Service Diagnostics Web Console Plugin 0.1.2 release is now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (February 1, 2013)</li>
<li>The Dependency Manager Core, Annotation, Runtime version 3.1.0 and Compat, Shell version 3.0.1 are now available in the <a href="https://felix.apache.org/downloads.cgi">downloads</a> section and from the Maven repository. (January 28, 2013)</li>
<li>The iPOJO Core, Composite and Annotations 1.8.6 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 10, 2013)</li>
<li>The Apache Felix SCR Generator 1.3.0, Maven SCR Plugin 1.9.0, and SCR Ant Task 1.3.0 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 07, 2012)</li>
<li>The UserAdmin 1.0.3 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 06, 2012)</li>
<li>The UserAdmin file-store 1.0.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 06, 2012)</li>
<li>The UserAdmin MongoDB-store 1.0.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 06, 2012)</li>
<li>Pierre De Rop added to the PMC (November 19, 2012)</li>
<li>Guillaume Sauthier added as a Committer (November 16, 2012)</li>
<li>The Felix Declarative Services 1.6.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 12, 2012)</li>
<li>The iPOJO Core, Composite and Annotations 1.8.4 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 06, 2012)</li>
<li>The iPOJO Manipulator 1.8.6 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 06, 2012)</li>
<li>The Felix Metatype Service 1.0.6 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 1st, 2012)</li>
<li>Chetan Mehrotra added as a Committer (October 29, 2012)</li>
<li>The Apache Felix Configuration Admin version 1.6.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. This release implements the latest version of the OSGi Configuration Admin specification (Version 1.5) (October 29, 2012)</li>
<li>The Apache Felix EventAdmin 1.3.0 release is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository.  (Sep 18, 2012)</li>
<li>The Apache Felix SCR Generator 1.2.0, SCR Annotations 1.7.0, DS Annotations 1.2.0, Maven SCR Plugin 1.8.0, and SCR Ant Task 1.2.0 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (Aug 23, 2012)</li>
<li>The Framework 4.0.3 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 06, 2012)</li>
<li>The FileInstall 3.2.4 and Utils 1.2.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 20, 2012)</li>
<li>The Apache Felix OSGi Web Console 4.0, DS Plugin 1.0, Memory Usage Plugin 1.0.4, OBR Plugin 1.0, PackageAdmin Plugin 1.0.0 and UPnP Plugin 1.0.2 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June, 10, 2012)</li>
<li>The iPOJO Core, Composite and Annotations 1.8.2 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 14, 2012)</li>
<li>The iPOJO Manipulator 1.8.4 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 06, 2012)</li>
<li>The Felix FileInstall 3.2.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 24, 2012)</li>
<li>The Shell 1.4.3 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 14, 2012)</li>
<li>The Utils 1.1.2 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 20, 2012)</li>
<li>The Felix Maven Bundle Plugin 2.3.7 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 14, 2012)</li>
<li>The Service Diagnostics Web Console Plugin 0.1.1 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 8th, 2012)</li>
<li>The Lightweight HTTP Service (core and complete) 0.1.4 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 8th, 2012)</li>
<li>The iPOJO Manipulator 1.8.2 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 18, 2011)</li>
<li>The initial release of the Felix Lightweight HTTP Service 0.1.2 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 8, 2011)</li>
<li>The Felix Maven Bundle Plugin 2.3.6 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 2, 2011)</li>
<li>The Framework 4.0.2 plus Framework Security Provider 2.0.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 25, 2011)</li>
<li>The Apache Felix SCR Generator 1.1.4, Maven SCR Plugin 1.7.4, and SCR Ant Task 1.1.4 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (Nov 15, 2011)</li>
<li>The Framework 4.0.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 14, 2011)</li>
<li>The Framework 4.0.0 plus Framework Security Provider 2.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 26, 2011)</li>
<li>The EventAdmin 1.2.14 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August, 9, 2011)</li>
<li>The Apache Felix SCR Generator 1.1.2, SCR Annotations 1.6.0, Maven SCR Plugin 1.7.2, and SCR Ant Task 1.1.2 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 21, 2011)</li>
<li>The Felix maven-bundle-plugin 2.3.5 and Bundle Repository 1.6.6 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 11, 2011)</li>
<li>The iPOJO Whiteboard Pattern Handler 1.6.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (July 03, 2011)</li>
<li>Gogo Runtime, Shell, and Command 0.10.0 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 22, 2011)</li>
<li>The EventAdmin 1.2.12 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 25, 2011)</li>
<li>The Framework 3.2.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 23, 2011)</li>
<li>The iPOJO Event Admin Handler 1.8.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 19, 2011)</li>
<li>The Dependency Manager 3.0.0, Deployment Admin 0.9.0 and AutoConf Resource Processor 0.1.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 5, 2011)</li>
<li>The Framework 3.2.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 1, 2011)</li>
<li>Log Service 1.0.1 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 5, 2011)</li>
<li>The Framework 3.2.0 plus Framework Security Provider 1.4.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 1, 2011)</li>
<li>The Apache Felix SCR Generator 1.1.0, SCR Annotations 1.5.0, Maven SCR Plugin 1.7.0, and SCR Ant Task 1.1.0 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository (except the Ant Task only available from the Downloads page). (March 12, 2011)</li>
<li>The EventAdmin 1.2.10 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 7, 2011)</li>
<li>The iPOJO Composite 1.8.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 27, 2011)</li>
<li>The Framework 3.0.9 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 25, 2011)</li>
<li>The Felix Web Console 3.1.8 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 7, 2011)</li>
<li>The Felix Maven Bundle Plugin 2.3.4 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 7, 2011)</li>
<li>The Felix FileInstall 3.1.10 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 7, 2011)</li>
<li>The iPOJO WebConsole Plugin 1.6.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 5, 2011)</li>
<li>The Framework 3.0.8 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 3, 2011)</li>
<li>The Felix Http Service 2.2.0 has been released. Available from download <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (January 31,2011)</li>
<li>The maven-ipojo-plugin  1.8.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 28, 2011)</li>
<li>The Felix FileInstall 3.1.6 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 25, 2011)</li>
<li>The iPOJO Core, Annotations, Manipulator and Ant task 1.8.0 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 22, 2011)</li>
<li>The Felix Maven Bundle Plugin 2.2.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 17, 2011)</li>
<li>Gogo Command, Runtime, and Shell 0.8.0 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 16, 2011)</li>
<li>The Felix FileInstall 3.1.4 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 6, 2011)</li>
<li>The Framework 3.0.7 plus Framework Security Provider 1.4.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 30, 2010)</li>
<li>The Felix FileInstall 3.1.2 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 23, 2010)</li>
<li>The Felix EventAdmin 1.2.8 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 06, 2010)</li>
<li>The iPOJO Core 1.6.8 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 05, 2010)</li>
<li>The Apache Felix Web Console 3.1.6 release is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 8, 2010)</li>
<li>The Apache Felix SCR Generator 1.0.0, SCR Annotations 1.4.0, Maven SCR Plugin 1.6.0, and SCR Ant Task 1.0.0 releases are now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository (except the Ant Task only available from the Downloads page). (November 8, 2010)</li>
<li>The FileInstall 3.1.0 and Utils 1.1.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 7, 2010)</li>
<li>Framework 3.0 plus Framework Security Provider 1.4 have been certified R4.2 compliant and are now listed at the <a href="http://www.osgi.org/Specifications/Certified">OSGi Alliance web site</a>. (October 26, 2010)</li>
<li>The iPOJO Core 1.6.6 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 24, 2010)</li>
<li>The Framework 3.0.5 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 22, 2010)</li>
<li>The EventAdmin 1.2.6 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 15, 2010)</li>
<li>The Framework 3.0.4 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 8, 2010)</li>
<li>The iPOJO Arch command for gogo 1.0.1 available is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 2, 2010)</li>
<li>The Remote Shell 1.1.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 1, 2010)</li>
<li>The Framework 3.0.3 and Gogo 0.6.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 27, 2010)</li>
<li>The Configuration Admin 1.2.8 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 13, 2010)</li>
<li>The EventAdmin 1.2.4 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 11, 2010)</li>
<li>The iPOJO Core, Annotations and Manipulator 1.6.4 are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 03, 2010)</li>
<li>The Remote Shell 1.1.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 30, 2010)</li>
<li>The Framework 3.0.2 and the Framework Security 1.4.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 23, 2010)</li>
<li>Declarative Services 1.6.0, Web Console 3.1.2, and Web Console Memory Usage Plugin 1.0.2 are available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the maven repository, and from the Felix OBR. (August 16, 2010)</li>
<li>File Install 3.0.2 is available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the maven repository, and from the Felix OBR. (August 9, 2010)</li>
<li>The iPOJO Architecture command for Gogo is now available in the  <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the maven repository and from the Felix OBR. (July 24, 2010)</li>
<li>The Framework 3.0.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 18, 2010)</li>
<li>The Felix Web Console 3.1.0 and the BundleRepository 1.6.4 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 18, 2010)</li>
<li>The Framework 3.0.0 releases as well as the Gogo runtime, shell, and command 0.6.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 11, 2010)</li>
<li><a href="http://ipojo.org">Apache Felix iPOJO</a> 1.6.2 has been released and is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the Maven repository and from the Apache Felix OBR. (May 27, 2010)</li>
<li><a href="http://ipojo.org">Apache Felix iPOJO</a> Event Admin and Temporal dependency handlers 1.6.0 have been released and are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the Maven repository and from the Apache Felix OBR. (May 27, 2010)</li>
<li><a href="/miscellaneous/apache-karaf.html">Apache Karaf</a> 1.6.0 has been released and is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository.  See the [release notes|Apache Felix Karaf 1.6.0] for more informations. (May 27, 2010)</li>
<li>Maven Bundle Plugin 2.1.0 release, Bundle Repository 1.6.2, File Install 3.0.0, Gogo 0.4.0 are now available from the Maven repository and the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (May 10, 2010)</li>
<li>The Maven SCR Plugin 1.4.4 release, and the SCR Annotations 1.3 release are now available from the Maven repository and the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (April 30, 2010)</li>
<li>iPOJO 1.6.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 25, 2010)</li>
<li>The Framework and Main 2.0.5 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 20, 2010)</li>
<li>Apache Felix Utils 1.0.0, Bundle Repository 1.6.0, Web Console 3.0.0, Web Console Event Plugin 1.0.2, Web Console Memory Usage Plugin 1.0.0, Web Console UPNP Plugin 1.0.0 have been released and are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 31, 2010)</li>
<li>Apache Felix Karaf 1.4.0 has been released and is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 7, 2010)</li>
<li>The EventAdmin 1.2.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 22, 2010)</li>
<li>The Framework and Main 2.0.4 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 18, 2010)</li>
<li>The Framework 2.0.3, Framework Security 1.0.0, Main 2.0.3, Bundlerepository 1.4.3, and Shell 1.4.2 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 11, 2010)</li>
<li>The Felix Web Console 2.0.6 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 21, 2010)</li>
<li>File Install 2.0.8 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 1, 2010)</li>
<li>The Maven SCR Plugin 1.4.2 release, the SCR Annotations 1.2 release and the Web Console 2.0.4 release are now available from the Maven repository and the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (December 21, 2009)</li>
<li>The Felix SCR (Declarative Services) 1.4.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 21, 2009)</li>
<li>Apache Felix Karaf 1.2.0 has been released and is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 2, 2009)</li>
<li>Apache Felix Http Service 2.0.4 has been released. Available from download <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (November 27, 2009)</li>
<li>The Felix SCR (Declarative Services) 1.2.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 05, 2009)</li>
<li>The Framework 2.0.2 and Main 2.0.2 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 04, 2009)</li>
<li>The Felix Web Console 2.0.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 30, 2009)</li>
<li>File Install 2.0.4 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 30, 2009)</li>
<li>The Framework 2.0.1, Main 2.0.1, Bundlerepository 1.4.2, Shell 1.4.1, and Shell TUI 1.4.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 16, 2009)</li>
<li>Apache Felix Http Service 2.0.2 has been released. Available from download <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and the Maven repository. (October 5, 2009)</li>
<li>The Felix Web Console 2.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 1, 2009)</li>
<li>Apache Felix Karaf 1.0.0 has been released. (September 29, 2009)</li>
<li>The Maven Bundle Plugin 2.0.1 release is now available from the Maven repository. (September 22, 2009)</li>
<li>The Felix Preferences 1.0.4 release is now available from the Maven repository (September 21, 2009)</li>
<li>The Maven SCR Plugin 1.4.0 release and the SCR Annotations 1.0 release are now available from the Maven repository. (September 18, 2009)</li>
<li>Felix iPOJO Web Console Plugin is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the Maven repository and from the Felix OBR (September 18, 2009).</li>
<li>File Install 2.0.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 14, 2009)</li>
<li>The iPOJO Manipulator, maven-ipojo-plugin, Ant task and online manipulator 1.4.2 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 11, 2009)</li>
<li>The Framework 2.0.0, Main 2.0.0, Bundlerepository 1.4.1, Shell 1.4.0, and Shell TUI 1.4.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 11, 2009)</li>
<li>The Felix Config Admin 1.2.4 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 8, 2009)</li>
<li>The Felix Config Admin 1.2.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 25, 2009)</li>
<li>The Felix Metatype 1.0.4 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 5, 2009)</li>
<li>iPOJO 1.4.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section, from the Maven repository and from the Felix bundle repository. (July 29, 2009)</li>
<li>File Install 1.2.0 is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 29, 2009)</li>
<li>HTTP Service Jetty 1.0.1 maintenance release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 29, 2009)</li>
<li>The Framework 1.8.1, and Main 1.8.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 25, 2009)</li>
<li>The Maven SCR Plugin 1.2.0 release is now available from the Maven repository. (May 25, 2009)</li>
<li>The Felix UPnP Extra 0.4.0 and Felix UPnP Tester 0.4.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository (May 21, 2009)</li>
<li>The Felix Web Console 1.2.10 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 15, 2009)</li>
<li>The Framework 1.8.0, and Main 1.8.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (Mai 14, 2009)</li>
<li>The junit4osgi 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 13, 2009)</li>
<li>The File Install 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 10, 2009)</li>
<li>The Felix SCR 1.0.8 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 4, 2009)</li>
<li>The Framework 1.6.1, and Main 1.6.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 30, 2009)</li>
<li><a href="/miscellaneous/apache-karaf.html">Apache Karaf</a> has been accepted as a new subproject</li>
<li>The Felix HTTP Service (Jetty) 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 13, 2009)</li>
<li>The Dependency Manager and Shell 2.0.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (April 8, 2009)</li>
<li>The Felix 1.6.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (April 6, 2009)</li>
<li>The Framework 1.6.0, Main 1.6.0, Bundlerepository 1.4.0, shell 1.2.0, and shell.tui 1.2.0 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 6, 2009)</li>
<li>The File Install 0.9.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 6, 2009)</li>
<li>The Felix Log Service 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 6, 2009)</li>
<li>Apache Felix BOF at <a href="http://www.eu.apachecon.com/c/aceu2009/">ApacheCon EU 2009</a>. (March 25, 2009)</li>
<li>Presentation at <a href="http://www.eu.apachecon.com/c/aceu2009/">ApacheCon EU 2009</a> about [Apache Felix on Androids|Presentations^Apache Felix on Androids.pdf] by Marcel Offermans and Christian van Spaandonk. (March 25, 2009)</li>
<li>The Felix Web Console 1.2.8 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 24, 2009)</li>
<li>The Maven SCR Plugin 1.0.10 release is now available from the Maven repository. (March 16, 2009)</li>
<li>The Maven Bundle Plugin 2.0.0 release is now available from the Maven repository. (March 4, 2009)</li>
<li>The Felix Remote Shell 1.0.4 release is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 27, 2009)</li>
<li>The full Felix iPOJO 1.2.0 release (core + handlers) is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 9, 2009)</li>
<li>A lightning talk about <a href="http://www.fosdem.org/2009/schedule/events/apache_felix">Dynamic Deployment with Apache Felix</a> will be given at [FOSDEM '09|http://www.fosdem.org/2009/] by Marcel Offermans (February 7, 2009)</li>
<li>The Felix iPOJO 1.2.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 5, 2009)</li>
<li>The Felix Config Admin 1.0.10 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 1, 2009)</li>
<li>The Felix Config Admin 1.0.8 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 27, 2009)</li>
<li>The Felix Web Console 1.2.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (January 3, 2009)</li>
<li>The Felix 1.4.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (December 24, 2008)</li>
<li>The Framework 1.4.1 and Main 1.4.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (December 24, 2008)</li>
<li>The Felix 1.4.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (November 13, 2008)</li>
<li>New Framework 1.4.0, Main 1.4.0, and Bundle Repository 1.2.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (November 13, 2008)</li>
<li>The Felix iPOJO 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 22, 2008)</li>
<li>The Felix Web Console 1.2.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (October 14, 2008)</li>
<li>The initial release of the Apache Felix Remote Shell is now available from the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. We would like to thank Dieter Wimberger for contributing this bundle to the Apache Felix project.</li>
<li>The Felix 1.2.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section.</li>
<li>New Framework 1.2.1, Main 1.2.1, Bundle Repository 1.2.0, Shell 1.0.2, and Shell TUI 1.0.2 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (September 11, 2008)</li>
<li>The Felix SCR 1.0.6, Metatype 1.0.2 and Maven SCR Plugin 1.0.8 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (Sep 11, 2008)</li>
<li>The File Install 0.9.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (August 31, 2008)</li>
<li>The Maven SCR Plugin 1.0.7 release is now available from the Maven repository. (August 22, 2008)</li>
<li>The Maven Bundle Plugin 1.4.3 release (better cleanup of resources) is now available from the Maven repository. (August 9, 2008)</li>
<li>The Maven Bundle Plugin 1.4.2 release is now available from the Maven repository. (August 8, 2008)</li>
<li>The Felix SCR 1.0.4 and Configadmin 1.0.4 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (Aug 06, 2008)</li>
<li>The Maven SCR Plugin 1.0.6 release is now available from the Maven repository. (July 7, 2008)</li>
<li>The Felix SCR 1.0.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 17, 2008)</li>
<li>The Felix UPnP Base Driver 0.8.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (June 12, 2008)</li>
<li>The Maven SCR Plugin 1.0.5 release is now available from the Maven repository. (June 9, 2008)</li>
<li>The Felix Web Console 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (May 26, 2008)</li>
<li>The Maven Bundle Plugin 1.4.1 release is now available from the Maven repository. (May 8, 2008)</li>
<li>New Framework 1.0.4, Main 1.0.4, org.osgi.core 1.0.1, org.osgi.compendium 1.0.1, org.osgi.service.obr 1.0.2, Bundle Repository 1.0.3, Shell 1.0.1, and Shell TUI 1.0.1 releases are now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (April 25, 2008)</li>
<li>The Felix Config Admin 1.0.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (March 30, 2008)</li>
<li>The Maven SCR Plugin 1.0.4 release is now available from the Maven repository. (March 14, 2008)</li>
<li>The Maven Bundle Plugin 1.4.0 release is now available from the Maven repository. (February 26, 2008)</li>
<li>The Maven Bundle Plugin 1.2.1 release is now available from the Maven repository. (February 18, 2008)</li>
<li>The Maven OBR Plugin 1.2.0 release is now available from the Maven repository. (February 14, 2008)</li>
<li>The Maven SCR Plugin 1.0.3 release is now available from the Maven repository. (February 11, 2008)</li>
<li>The Felix Preferences 1.0.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 11, 2008)</li>
<li>The Felix Configadmin 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 4, 2008)</li>
<li>The Felix SCR 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 4, 2008)</li>
<li>The Felix Metatype 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 4, 2008)</li>
<li>The Felix Eventadmin 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 4, 2008)</li>
<li>The Felix 1.0.3 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 1, 2008)</li>
<li>The Bundle Repository 1.0.2 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section and from the Maven repository. (February 1, 2008)</li>
<li>The Maven Bundle Plugin 1.2.0 release is now available from the Maven repository. (January 21, 2008)</li>
<li>The Maven OBR Plugin 1.0.0 release is now available from the Maven repository. (January 12, 2008)</li>
<li>The Maven SCR Plugin 1.0.2 release is now available from the Maven repository. (January 12, 2008)</li>
<li>The javax.servlet 1.0.0 release is now available from the Maven repository. (January 12, 2008)</li>
<li>The Maven SCR Plugin 1.0.1 release is now available from the Maven repository. (December 24, 2007)</li>
<li>The Maven SCR Plugin 0.4.0 release is now available from the Maven repository. (November 5, 2007)</li>
<li>The Felix 1.0.1 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (October 08, 2007)</li>
<li>The Felix 1.0.0 release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section. (July 28, 2007)</li>
<li>New <a href="/documentation/tutorials-examples-and-presentations/apache-felix-application-demonstration.html">example application</a> online. (July 13, 2007)</li>
<li>Feathercast <a href="http://feathercast.org/?p=46">podcast</a> about Felix released. (May 23, 2007)</li>
<li>Felix has graduated into a top level project!</li>
<li>The Felix 0.8.0-incubator release is now available in the <a href="https://felix.apache.org/site/downloads.cgi">downloads</a> section.</li>
<li>Felix has its own website! (July 17, 2006)</li>
</ul>
      <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
        Rev. 1885349 by cziegeler on Mon, 11 Jan 2021 05:36:28 +0000
      </div>
      <div class="trademarkFooter"> 
        Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
        logo are trademarks of The Apache Software Foundation. All other marks mentioned
        may be trademarks or registered trademarks of their respective owners.
      </div>
    </div>
  </body>
</html>
