= News

* Apache Felix Health Check General Checks 3.0.2 and Http Servlet API 2.0.0 (June 13th)
* Apache Felix Framework 7.0.5 released (Jun 3rd, 2022)
* Apache Felix Framework 7.0.4 released (May 25th, 2022)
* Apache Felix Webconsole 4.8.2 (May 23rd)
* Apache Felix Webconsole 4.8.0 (May 16th)
* Apache Felix SCR 2.2.0 (February 23rd)
* Apache Felix Http Jetty 4.2.0, Http Servlet API 1.2.0, Http Bridge 4.2.0, and Http Base 4.2.0 (February 20th)
* Apache Felix Health Check Core 2.0.14 (February 17th, 2022)
* Apache Felix Health Check Core 2.0.12, Health Check General Checks 3.0.0 (January 3rd, 2022)
* Apache Felix Framework 7.0.3 and Framework Security 2.8.3 released (December 6th, 2021)
* Apache Felix Configadmin Interpolation Plugin 1.2.2 released (October 29th, 2021)
* Apache Felix Webconsole 4.7.0, Http Jetty 4.1.12, Http Base 4.1.4 and Http Bridge 4.1.4 released (September 5th, 2021)
* Apache Felix Healthcheck Generalchecks 2.0.12 (August 31st, 2021)
* Apache Felix Healthcheck Generalchecks 2.0.10, Systemready 0.6.0 (August 28th, 2021)
* Apache Felix Webconsole 4.6.4 released (August 25th, 2021)
* Apache Felix Healthcheck Core 2.0.10, Healthcheck Generalchecks 2.0.8, Systemready 0.5.0, Rootcause 0.2.0
* Apache Felix Configuration Admin 1.9.22 and Http Jetty 4.1.8 (May 7th, 2021)
* Apache Felix Http Jetty 4.1.6 (March 18th, 2021)
* Apache Felix Configurator 1.0.14 (March 6th, 2021)
* Apache Felix Atomos 1.0.0 (February 23rd, 2021)
* Apache Felix SCR 2.1.26 (February 22th, 2021)
* Apache Felix CM Json 1.0.6 released (February 3rd, 2021)
* Apache Felix CM Json 1.0.4 released (January 29th, 2021)
* Apache Felix Dependency Manager r16 released (January 25th, 2021)
* Apache Felix Metatype 1.2.4 released (January 18th, 2021)
* Apache Felix Event Admin 1.6.2 released (January 11th, 2021)
* Apache Felix Configadmin 1.9.20 released (January 7th, 2021)
* Apache Felix Framework 7.0.0 and Framework Security 2.8.0 released (December 25th, 2020)
* Apache Felix Webconsole 4.6.0 and EventAdmin 1.6.0 released (December 17th, 2020)
* Apache Felix Framework 6.0.4 and Resolver 2.0.2 released (December 15th, 2020)
* Apache Felix Http Jetty 4.1.4 (November 28th, 2020)
* Apache Felix Gogo - Jline 1.1.8, BOM 1.0.6
* Apache Felix Http Jetty 4.1.2, Http Bridge 4.1.2, and Http Base 4.1.2 (October 11th, 2020)
* Apache Felix Gogo - Runtime 1.1.4, Shell 1.1.4, Command 1.1.2, BOM 1.0.4
* Apache Felix Http Jetty 4.1.0, Http Bridge 4.1.0, and Http Base 4.1.0 (September 26th, 2020)
* Apache Felix Configurator 1.0.12 (July 23rd, 2020)
* Apache Felix Webconsole 4.5.4, Configadmin 1.9.18, and Http Jetty 4.0.20 (July 20th, 2020)
* Apache Felix Maven Bundle Plugin 5.1.1 (July 14th, 2020)
* 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)
* Apache Felix Webconsole 4.5.2 (May 8th, 2020)
* Apache Felix Webconsole 4.5.0 (April 27th, 2020)
* Apache Felix CM Json 1.0.2 (April 23rd, 2020)
* Apache Felix SCR 2.1.20 (April 20th, 2020)
* Apache Felix CM Json 1.0.0 (April 20th, 2020)
* Apache Felix SCR 2.1.18, Http Jetty 4.0.18, Http Bridge 4.0.12, Http Base 4.0.10 (April 16th, 2020)
* Apache Felix Configuration Admin Values Interpolation Plugin 1.1.0 (March 2nd, 2020)
* Apache Felix Configuration Admin Values Interpolation Plugin 1.0.0 (January 13th, 2020)
* Apache Felix SCR Maven Plugin 1.26.4, BND SCR Plugin 1.9.6, SCR Generator 1.8.4 (December 7th, 2019)
* Apache Felix Http Jetty 4.0.14 (September 15th, 2019)
* Apache Felix Http Jetty 4.0.12, Http Base 4.0.8, Http Bridge 4.0.10 (September 7th, 2019)
* Apache Felix Log 1.2.2 (August 30th, 2019)
* Apache Felix Maven Bundle Plugin 4.2.1 (August 19th, 2019)
* 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)
* Apache Felix WebConsole 4.3.12 (May 27th, 2019)
* Apache Felix WebConsole 4.3.10 (May 20th, 2019)
* Apache Felix Health Check API 2.0.2, Health Check Core 2.0.6 (May 20th, 2019)
* Apache Felix Http Proxy 3.0.6 (May 15th, 2019)
* Apache Felix Health Check Core 2.0.4, Health Check General Checks 2.0.4 (May 13th, 2019)
* Apache Felix SCR Generator 1.18.2, SCR Bnd Plugin 1.9.4, Maven SCR Plugin 1.26.2 (May 9th, 2019)
* Apache Felix Framework 6.0.3 released (May 2nd, 2019)
* Apache Felix Converter 1.0.8 released (April 23rd, 2019)
* Apache Felix Maven Bundle Plugin 4.2.0 released (April 8th, 2019)
* Apache Felix Health Check Core 2.0.2 released (April 5nd, 2019)
* Apache Felix WebConsole Memory Plugin 1.0.10 released (April 2nd, 2019)
* Apache Felix Health Check General Checks 2.0.2, Root Cause Analysis 0.1.0 (March 27th, 2019)
* 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)
* Apache Felix SCR 2.1.16 released (February 26th, 2019)
* 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)
* Apache Felix Configuration Admin 1.9.12 release (February 24th, 2019)
* Apache Felix Framework 6.0.2 released (January 31th, 2019)
* Apache Felix Bnd SCR Plugin 1.9.2 (January 26th, 2019)
* Apache Felix Dependency Manager r15 (December 23rd, 2018)
* Apache Felix Dependency Manager r14 (December 2nd, 2018)
* Apache Felix Configurator 1.0.8 released (November 18th, 2018)
* Apache Felix SCR 2.1.14 released (November 13th, 2018)
* Apache Felix Dependency Manager r13 (October 22nd, 2018)
* Apache Felix Felix Http SSL Filter 1.2.6 released (October 18th, 2018)
* Apache Felix SCR 2.1.12 released (October 17th, 2018)
* Apache Felix ConfigAdmin 1.9.10 released (October 17th, 2018)
* Apache Felix SCR 2.1.10 released (October 8th, 2018)
* Apache Felix ConfigAdmin 1.9.8 released (October 8th, 2018)
* Apache Felix Metatype 1.2.2 released (September 26th, 2018)
* 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)
* 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)
* Apache Felix Config Admin 1.9.6 released (September 17th, 2018)
* Apache Felix Web Console 4.3.8 (September 14th, 2018)
* Apache Felix Framework 6.0.1 and Framework Security 2.6.1 released (August 20th, 2018)
* Apache Felix SCR 2.1.6 released (August 20th, 2018)
* Apache Felix Configurator 1.0.4 released (August 10th, 2018)
* Apache Felix Http Jetty 4.0.4, Http Bridge 4.0.2 and Http Base 4.0.2 released (August 6th, 2018)
* Apache Felix SCR 2.1.2 released (August 6th, 2018)
* Apache Felix Configuration Admin 1.9.4 released (August 3rd, 2018)
* Apache Felix Configurator 1.0.2 released (July 29th, 2018)
* Apache Felix Http Jetty 4.0.2 released (July 13th, 2018)
* Apache Felix Log Service 1.2.0 and Log Service Framework Extension 1.0.0 released (July 13th, 2018)
* Apache Felix Framework 6.0.0 and Resolver 2.0.0 released (July 6th, 2018)
* Apache Felix Logback Bundle 1.0.0 released (June 25th, 2018)
* Apache Felix Maven Bundle Plugin 3.5.1 (June 19th, 2018)
* Apache Felix Gogo 1.1.0 (Runtime, Jline, Shell) released (June 14th, 2018)
* Apache Felix Connect 0.2.0 released (May 28th, 2018)
* Apache Felix Config Admin 1.9.2 released (May 26th, 2018)
* Apache Felix Event Admin 1.5.0 and Apache Felix Metatype 1.2.0 released (May 6th, 2018)
* Apache Felix Utils 1.11.0 released (May 5th, 2018)
* 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)
* Apache Felix Converter 1.0.0 released (April 26th, 2018)
* Apache Felix Resolver 1.16.0 released (March 13th, 2018)
* Apache Felix WebConsole Memory Plugin 1.0.8 released (February 28th, 2018)
* 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)
* Apache Felix Maven Bundle Plugin 3.5.0 released (January 6th, 2018)
* Apache Felix SCR 2.0.14 and Maven Bundle Plugin 3.4.0 released (December 18th, 2017)
* Apache Felix Http Jetty 3.4.8 released (December 12th, 2017)
* Apache Felix Inventory 1.0.6 released (December 12th, 2017)
* Apache Felix Http SslFilter 1.2.4 released (December 1st, 2017)
* Apache Felix Framework 5.6.10 released (November 13th, 2017)
* Apache Felix Http Jetty 3.4.6 (November 5th, 2017)
* Apache Felix Metatype 1.1.6 (October 1st, 2017)
* 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)
* Apache Felix SCR DS Annotations 1.2.10, Apache Felix Utils 1.10.2, Apache Felix FileInstall 3.6.2 (September 11th, 2017)
* Apache Felix Gogo Runtime 1.0.8, Apache Felix Gogo JLine 1.0.8 (September 11th, 2017)
* Apache Felix Eventadmin 1.4.10 and Apache Felix Metatype 1.1.4 (September 1st, 2017)
* Apache Felix Framework 5.6.8 released (August 25th, 2017)
* Apache Felix Config Admin 1.8.16 (August 7th, 2017)
* Apache Felix Framework 5.6.6 released (July 31st, 2017)
* Apache Felix Http Jetty 3.4.4 (July 14th, 2017)
* Apache Felix Http SSLFilter 1.2.2 (July 10th, 2017)
* Apache Felix Dependency Manager r11 (July 1, 2017)
* Apache Felix SCR 2.0.12 (June 26th, 2017)
* Apache Felix Framework 5.6.4 and Resolver 1.14.0 released (May 24th, 2017)
* Apache Felix Web Console 4.3.4 (May 12th, 2017)
* Apache Felix Web Console 4.3.2, Apache Felix WebConsole OBR Plugin 1.0.4 (May 9th, 2017)
* Apache Felix Utils 1.10.0, Apache Felix FileInstall 3.6.0 (May 9th, 2017)
* Apache Felix Gogo Runtime 1.0.6, Apache Felix Gogo JLine 1.0.6 (May 9th, 2017)
* Apache Felix SCR 2.0.8 (April 28th, 2017)
* Apache Felix Maven Bundle Plugin 3.3.0 (March 13th, 2017)
* Apache Felix Framework 5.6.2 and Resolver 1.12.0 released (February 20th, 2017)
* Apache Felix Web Console Event Plugin 1.1.6 and Apache Felix Web Console PackageAdmin Plugin 1.0.4 (February 20, 2017)
* Apache Felix Web Console 4.3.0 (February 17, 2017)
* Apache Felix Dependency Manager r9 is now available in the https://felix.apache.org/downloads.cgi[downloads] section.
(February 14, 2017)
* Apache Felix Utils 1.9.0 (February 13, 2017)
* Apache Felix Config Admin 1.8.14 (February 2, 2017)
* Apache Felix JAAS 1.0.0 (January 30, 2017)
* Apache Felix DS Webconsole Plugin 2.0.6 (January 24, 2017)
* Apache Felix SCR 2.0.8, Apache Felix DS Webconsole Plugin 2.0.4, Apache Felix Utils 1.8.6 (January 16, 2017)
* Apache Felix Web Console 4.2.18 (January 13, 2017)
* 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)
* Apache Felix SCR bnd Plugin 1.7.2 (January 02, 2017)
* 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)
* Apache Felix HttpLite 0.1.5 (November 30th, 2016)
* Apache Felix Resolver 1.10.1 released (November 7th, 2016)
* Apache Felix Config Admin 1.8.12 (October 25th, 2016)
* Apache Felix Framework 5.6.1 released (October 24th, 2016)
* 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)
* Apache Felix Preferences 1.1.0 (October 15th, 2016)
* 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)
* Apache Felix Framework 5.6.0, Framework Security 2.6.0, and Resolver 1.10.0 released (September 25th, 2016).
* Apache Felix Http SSLFilter 1.2.0 (August 29th, 2016)
* Apache Felix Event Admin 1.4.8 (August 15th, 2016)
* 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)
* Apache Felix Http SSLFilter 1.1.0 (August 12th, 2016)
* Apache Felix SCR 2.0.6 (August 6th, 2016)
* Apache Felix Http SSLFilter 1.0.8 (August 5th, 2016)
* 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)
* Apache Felix Maven Bundle Plugin 3.2.0 (July 18th, 2016)
* Apache Felix SCR Annotations 1.11.0 (July 14th, 2016)
* 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)
* Apache Felix SCR 2.0.4 (July 8th, 2016)
* Apache Felix Http SSLFilter 1.0.6 (June 22nd, 2016)
* Apache Felix Web Console 4.2.16 (June 3rd, 2016)
* SCR Tooling: Apache Felix SCR bnd Plugin 1.5.0 released (May 28, 2016)
* 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)
* Apache Felix Bundle Repository 2.0.8 and Apache Felix File Install 3.5.4 (April 4, 2016)
* 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)
* Apache Felix Dependency Manager r8 is now available in the https://felix.apache.org/downloads.cgi[downloads] section.
(March 06, 2016)
* Apache Felix AutoConf resource processor 0.1.8 and Felix DeploymentAdmin 0.9.10 released (January 20, 2016)
* Apache Felix Utils 1.8.2, EventAdmin 1.4.6, FileInstall 3.5.2 (January 19, 2016)
* 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)
* Apache Felix JAAS Support 0.0.4, and Apache Felix Script Console Plugin 1.0.2 (December 03, 2015)
* Apache Felix Dependency Manager r6 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(December 01, 2015)
* 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)
* Apache Felix Coordinator 1.0.2 released (November 16, 2015)
* Apache Felix Web Console Subsystem plugin 0.1.0 released (November 16, 2015)
* Maven Bundle Plugin 3.0.1 (November 13, 2015)
* The Framework 5.4.0 as well as the Resolver 1.8.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 16, 2015)
* 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)
* Apache Felix Web Console 4.2.14 (October 6, 2015)
* Apache Felix Gogo Command 0.16.0 and Apache Felix Gogo Shell 0.12.0 (October 5, 2015)
* Maven Bundle Plugin 3.0.0 and Apache Felix Bundle Repository 2.0.6 (September 25, 2015)
* 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)
* Apache Felix SCR 2.0.2, Apache Felix DS Webconsole Plugin 2.0.2, Apache Felix SCR Compat 1.0.2 (September 19, 2015)
* Apache Felix Http SslFilter 1.0.4 (September 17, 2015)
* The Framework 5.2.0 as well as the resolver 1.6.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 30, 2015)
* Apache Felix Threaddump 1.0.0 (August 28, 2015)
* Apache Felix Http Proxy 3.0.0 and Apache Felix Http Bridge 3.0.0 (August 17, 2015)
* Apache Felix Metatype 1.1.2 (August 14, 2015)
* 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)
* Apache Felix ConfigAdmin 1.8.8, Apache Felix Metatype 1.1.0 and Apache Felix EventAdmin 1.4.4 (August 10, 2015)
* 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)
* Apache Felix WebConsole 4.2.10 (July 20, 2015)
* The Framework 5.0.1 as well as the resolver 1.4.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 21, 2015)
* Apache Felix Dependency Manager 4 (top level release R5) is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(June 09, 2015)
* Apache Felix Config Admin 1.8.6 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(May 29, 2015)
* Apache Felix Connect 0.1.0  (May 28, 2015)
* Apache Felix Config Admin 1.8.4 (May 29, 2015)
* Apache Felix Maven Bundle Plugin 2.5.4 (April 27, 2015)
* 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)
* The Framework 5.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 24, 2015)
* The Apache Felix Resolver 1.2.0 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(April 24, 2015)
* Apache Felix Metatatype 1.0.12 (April 18, 2015)
* Apache Felix Dependency Manager 4 (top level release R2) is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(March 24, 2015)
* 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)
* Apache Felix Dependency Manager 4 (top level release R1) is now available from in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(March 11, 2015)
* 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)
* The Framework 4.6.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 08, 2015)
* Apache Felix HTTP Jetty 3.0.2 (February 5, 2015)
* Apache Felix HTTP 2.4.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository (February 2, 2015)
* Apache Felix Web Console 4.2.6 (January 30, 2015)
* The Framework 4.6.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 15, 2015)
* Apache Felix SCR Annotations 1.9.10 (January 9, 2015)
* Apache Felix iPOJO Manipulator and Runtime 1.12.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(December 24, 2014)
* Apache Felix HTTP 2.3.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository (November 11, 2014)
* Apache Felix Event Admin 1.4.2 (September 14, 2014)
* Apache Felix Maven Bundle Plugin 2.5.3 (August 31, 2014)
* Apache Felix Maven Bundle Plugin 2.5.2 (August 27, 2014)
* Apache Felix Maven SCR Plugin 1.20.0, and Apache Felix Event Admin 1.4.0 released (August 25, 2014)
* 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)
* Apache Felix WebConsole OBR Plugin 1.0.2 is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 25, 2014)
* Apache Felix Dependency Manager 3.2.0 is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 21, 2014)
* The Framework 4.4.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 14, 2014)
* Apache Felix Maven Bundle Plugin 2.5.0 is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 26, 2014)
* Apache Felix Bundle Repository (OBR) 2.0.2 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 26, 2014)
* Gogo Runtime 0.12.1 and Command 0.14.0 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 23, 2014)
* Apache Felix HTTP Service 2.3.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(June 13, 2014)
* 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)
* Apache Felix iPOJO Manipulator and Runtime 1.12.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(May 17, 2014)
* Apache Felix FileInstall 3.4.0 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository (April 22, 2014)
* Apache Felix DeploymentAdmin 0.9.6 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository (April 1, 2014)
* The Framework 4.4.0 and Framework Security 2.4.0 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(March 25, 2014)
* 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)
* Apache Felix iPOJO Manipulator and Runtime 1.11.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(March 15, 2014)
* Apache Felix Inventory 1.0.4 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(March 3, 2014)
* Apache Felix Jaas 0.0.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(Feburary 17, 2014)
* Apache Felix Inventory 1.0.2 and Apache Felix Web Console 4.2.2 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(Feburary 06, 2014)
* The Apache Felix iPOJO Runtime and Manipulator 1.11.1 releases are now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 29, 2014)
* Apache Felix Coordinator 1.0.0, and Apache Felix Metatype 1.0.10 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(January 19, 2014)
* Apache Felix DeploymentAdmin 0.9.5 and Felix AutoConf Processor 0.1.5 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(December 10, 2013)
* Apache Felix HTTP Service 2.2.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(December 10, 2013)
* The Apache Felix iPOJO Runtime and Manipulator 1.11.0 releases are now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 12, 2013)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 04, 2013)
* Apache Felix Configuration Admin version 1.8.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 28, 2013)
* Apache Felix Service Diagnostics WebConsole plugin 0.1.3 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(September 27, 2013)
* Apache Felix HTTP Service 2.2.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(September 27, 2013)
* Apache Felix Metatype Service 1.0.8 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(September 16, 2013)
* Apache Felix Preferences Service 1.0.6 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(August 12, 2013)
* Apache Felix Web Console Event Plugin 1.1.0 has been released and is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 02, 2013)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 02, 2013)
* The https://felix.apache.org/documentation/subprojects/apache-felix-script-console-plugin.html[Apache Felix Script Console Plugin] (1.0.0) is now avialable in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(July 30,2013)
* The Apache Felix iPOJO Manipulator (1.10.1) and Runtime (1.10.1) are now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(June 29, 2013)
* The Apache Felix Maven Bundle Plugin 2.4.0 is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 12, 2013)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 06, 2013)
* The Apache Felix Deployment Admin 0.9.4 and Auto Configuration 0.1.4 are now available in the link:/downloads.cgi[downloads] section and from the Maven repository.
* 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 https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(May 25, 2013)
* The Apache Felix Resolver 1.0.0 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(April 10, 2013)
* The Framework 4.2.1 and Framework Security 2.2.0 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(March 13, 2013)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Februrary 18, 2013)
* The Framework 4.2.0 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(February 12, 2013)
* The Service Diagnostics Web Console Plugin 0.1.2 release is now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(February 1, 2013)
* The Dependency Manager Core, Annotation, Runtime version 3.1.0 and Compat, Shell version 3.0.1 are now available in the https://felix.apache.org/downloads.cgi[downloads] section and from the Maven repository.
(January 28, 2013)
* The iPOJO Core, Composite and Annotations 1.8.6 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 10, 2013)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 07, 2012)
* The UserAdmin 1.0.3 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 06, 2012)
* The UserAdmin file-store 1.0.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 06, 2012)
* The UserAdmin MongoDB-store 1.0.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 06, 2012)
* Pierre De Rop added to the PMC (November 19, 2012)
* Guillaume Sauthier added as a Committer (November 16, 2012)
* The Felix Declarative Services 1.6.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 12, 2012)
* The iPOJO Core, Composite and Annotations 1.8.4 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 06, 2012)
* The iPOJO Manipulator 1.8.6 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 06, 2012)
* The Felix Metatype Service 1.0.6 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 1st, 2012)
* Chetan Mehrotra added as a Committer (October 29, 2012)
* The Apache Felix Configuration Admin version 1.6.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
This release implements the latest version of the OSGi Configuration Admin specification (Version 1.5) (October 29, 2012)
* The Apache Felix EventAdmin 1.3.0 release is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Sep 18, 2012)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Aug 23, 2012)
* The Framework 4.0.3 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 06, 2012)
* The FileInstall 3.2.4 and Utils 1.2.0 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 20, 2012)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June, 10, 2012)
* The iPOJO Core, Composite and Annotations 1.8.2 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 14, 2012)
* The iPOJO Manipulator 1.8.4 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 06, 2012)
* The Felix FileInstall 3.2.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 24, 2012)
* The Shell 1.4.3 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 14, 2012)
* The Utils 1.1.2 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 20, 2012)
* The Felix Maven Bundle Plugin 2.3.7 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 14, 2012)
* The Service Diagnostics Web Console Plugin 0.1.1 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 8th, 2012)
* The Lightweight HTTP Service (core and complete) 0.1.4 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 8th, 2012)
* The iPOJO Manipulator 1.8.2 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 18, 2011)
* The initial release of the Felix Lightweight HTTP Service 0.1.2 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 8, 2011)
* The Felix Maven Bundle Plugin 2.3.6 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 2, 2011)
* The Framework 4.0.2 plus Framework Security Provider 2.0.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 25, 2011)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Nov 15, 2011)
* The Framework 4.0.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 14, 2011)
* The Framework 4.0.0 plus Framework Security Provider 2.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 26, 2011)
* The EventAdmin 1.2.14 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August, 9, 2011)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 21, 2011)
* The Felix maven-bundle-plugin 2.3.5 and Bundle Repository 1.6.6 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 11, 2011)
* The iPOJO Whiteboard Pattern Handler 1.6.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(July 03, 2011)
* Gogo Runtime, Shell, and Command 0.10.0 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 22, 2011)
* The EventAdmin 1.2.12 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 25, 2011)
* The Framework 3.2.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 23, 2011)
* The iPOJO Event Admin Handler 1.8.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 19, 2011)
* The Dependency Manager 3.0.0, Deployment Admin 0.9.0 and AutoConf Resource Processor 0.1.0 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 5, 2011)
* The Framework 3.2.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 1, 2011)
* Log Service 1.0.1 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 5, 2011)
* The Framework 3.2.0 plus Framework Security Provider 1.4.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 1, 2011)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository (except the Ant Task only available from the Downloads page).
(March 12, 2011)
* The EventAdmin 1.2.10 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 7, 2011)
* The iPOJO Composite 1.8.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 27, 2011)
* The Framework 3.0.9 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 25, 2011)
* The Felix Web Console 3.1.8 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 7, 2011)
* The Felix Maven Bundle Plugin 2.3.4 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 7, 2011)
* The Felix FileInstall 3.1.10 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 7, 2011)
* The iPOJO WebConsole Plugin 1.6.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 5, 2011)
* The Framework 3.0.8 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 3, 2011)
* The Felix Http Service 2.2.0 has been released.
Available from download https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(January 31,2011)
* The maven-ipojo-plugin  1.8.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 28, 2011)
* The Felix FileInstall 3.1.6 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 25, 2011)
* The iPOJO Core, Annotations, Manipulator and Ant task 1.8.0 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 22, 2011)
* The Felix Maven Bundle Plugin 2.2.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 17, 2011)
* Gogo Command, Runtime, and Shell 0.8.0 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 16, 2011)
* The Felix FileInstall 3.1.4 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 6, 2011)
* The Framework 3.0.7 plus Framework Security Provider 1.4.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 30, 2010)
* The Felix FileInstall 3.1.2 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 23, 2010)
* The Felix EventAdmin 1.2.8 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 06, 2010)
* The iPOJO Core 1.6.8 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 05, 2010)
* The Apache Felix Web Console 3.1.6 release is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 8, 2010)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository (except the Ant Task only available from the Downloads page).
(November 8, 2010)
* The FileInstall 3.1.0 and Utils 1.1.0 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 7, 2010)
* Framework 3.0 plus Framework Security Provider 1.4 have been certified R4.2 compliant and are now listed at the http://www.osgi.org/Specifications/Certified[OSGi Alliance web site].
(October 26, 2010)
* The iPOJO Core 1.6.6 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 24, 2010)
* The Framework 3.0.5 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 22, 2010)
* The EventAdmin 1.2.6 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 15, 2010)
* The Framework 3.0.4 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 8, 2010)
* The iPOJO Arch command for gogo 1.0.1 available is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 2, 2010)
* The Remote Shell 1.1.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 1, 2010)
* The Framework 3.0.3 and Gogo 0.6.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 27, 2010)
* The Configuration Admin 1.2.8 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 13, 2010)
* The EventAdmin 1.2.4 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 11, 2010)
* The iPOJO Core, Annotations and Manipulator 1.6.4 are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 03, 2010)
* The Remote Shell 1.1.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 30, 2010)
* The Framework 3.0.2 and the Framework Security 1.4.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 23, 2010)
* Declarative Services 1.6.0, Web Console 3.1.2, and Web Console Memory Usage Plugin 1.0.2 are available in the https://felix.apache.org/site/downloads.cgi[downloads] section, from the maven repository, and from the Felix OBR.
(August 16, 2010)
* File Install 3.0.2 is available in the https://felix.apache.org/site/downloads.cgi[downloads] section, from the maven repository, and from the Felix OBR.
(August 9, 2010)
* The iPOJO Architecture command for Gogo is now available in the  https://felix.apache.org/site/downloads.cgi[downloads] section, from the maven repository and from the Felix OBR.
(July 24, 2010)
* The Framework 3.0.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 18, 2010)
* The Felix Web Console 3.1.0 and the BundleRepository 1.6.4 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 18, 2010)
* The Framework 3.0.0 releases as well as the Gogo runtime, shell, and command 0.6.0 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 11, 2010)
* http://ipojo.org[Apache Felix iPOJO] 1.6.2 has been released and is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section, from the Maven repository and from the Apache Felix OBR.
(May 27, 2010)
* http://ipojo.org[Apache Felix iPOJO] Event Admin and Temporal dependency handlers 1.6.0 have been released and are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section, from the Maven repository and from the Apache Felix OBR.
(May 27, 2010)
* {blank}
+
[cols=2*]
|===
| link:{{ refs.apache-karaf.path }}[Apache Karaf] 1.6.0 has been released and is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
See the [release notes
| Apache Felix Karaf 1.6.0] for more informations.
(May 27, 2010)
|===

* 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 https://felix.apache.org/site/downloads.cgi[downloads] section.
(May 10, 2010)
* The Maven SCR Plugin 1.4.4 release, and the SCR Annotations 1.3 release are now available from the Maven repository and the https://felix.apache.org/site/downloads.cgi[downloads] section.
(April 30, 2010)
* iPOJO 1.6.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 25, 2010)
* The Framework and Main 2.0.5 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 20, 2010)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 31, 2010)
* Apache Felix Karaf 1.4.0 has been released and is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 7, 2010)
* The EventAdmin 1.2.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 22, 2010)
* The Framework and Main 2.0.4 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 18, 2010)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 11, 2010)
* The Felix Web Console 2.0.6 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 21, 2010)
* File Install 2.0.8 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 1, 2010)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section.
(December 21, 2009)
* The Felix SCR (Declarative Services) 1.4.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 21, 2009)
* Apache Felix Karaf 1.2.0 has been released and is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 2, 2009)
* Apache Felix Http Service 2.0.4 has been released.
Available from download https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(November 27, 2009)
* The Felix SCR (Declarative Services) 1.2.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 05, 2009)
* The Framework 2.0.2 and Main 2.0.2 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 04, 2009)
* The Felix Web Console 2.0.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 30, 2009)
* File Install 2.0.4 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 30, 2009)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 16, 2009)
* Apache Felix Http Service 2.0.2 has been released.
Available from download https://felix.apache.org/site/downloads.cgi[downloads] section and the Maven repository.
(October 5, 2009)
* The Felix Web Console 2.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 1, 2009)
* Apache Felix Karaf 1.0.0 has been released.
(September 29, 2009)
* The Maven Bundle Plugin 2.0.1 release is now available from the Maven repository.
(September 22, 2009)
* The Felix Preferences 1.0.4 release is now available from the Maven repository (September 21, 2009)
* 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)
* Felix iPOJO Web Console Plugin is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section, from the Maven repository and from the Felix OBR (September 18, 2009).
* File Install 2.0.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 14, 2009)
* The iPOJO Manipulator, maven-ipojo-plugin, Ant task and online manipulator 1.4.2 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 11, 2009)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 11, 2009)
* The Felix Config Admin 1.2.4 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 8, 2009)
* The Felix Config Admin 1.2.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 25, 2009)
* The Felix Metatype 1.0.4 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 5, 2009)
* iPOJO 1.4.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section, from the Maven repository and from the Felix bundle repository.
(July 29, 2009)
* File Install 1.2.0 is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 29, 2009)
* HTTP Service Jetty 1.0.1 maintenance release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 29, 2009)
* The Framework 1.8.1, and Main 1.8.1 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 25, 2009)
* The Maven SCR Plugin 1.2.0 release is now available from the Maven repository.
(May 25, 2009)
* The Felix UPnP Extra 0.4.0 and Felix UPnP Tester 0.4.0 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository (May 21, 2009)
* The Felix Web Console 1.2.10 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 15, 2009)
* The Framework 1.8.0, and Main 1.8.0 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Mai 14, 2009)
* The junit4osgi 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 13, 2009)
* The File Install 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 10, 2009)
* The Felix SCR 1.0.8 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 4, 2009)
* The Framework 1.6.1, and Main 1.6.1 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 30, 2009)
* link:{{ refs.apache-karaf.path }}[Apache Karaf] has been accepted as a new subproject
* The Felix HTTP Service (Jetty) 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 13, 2009)
* The Dependency Manager and Shell 2.0.1 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(April 8, 2009)
* The Felix 1.6.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(April 6, 2009)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 6, 2009)
* The File Install 0.9.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 6, 2009)
* The Felix Log Service 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 6, 2009)
* Apache Felix BOF at http://www.eu.apachecon.com/c/aceu2009/[ApacheCon EU 2009].
(March 25, 2009)
* {blank}
+
[cols=2*]
|===
| Presentation at http://www.eu.apachecon.com/c/aceu2009/[ApacheCon EU 2009] about [Apache Felix on Androids
| Presentations{caret}Apache Felix on Androids.pdf] by Marcel Offermans and Christian van Spaandonk.
(March 25, 2009)
|===

* The Felix Web Console 1.2.8 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 24, 2009)
* The Maven SCR Plugin 1.0.10 release is now available from the Maven repository.
(March 16, 2009)
* The Maven Bundle Plugin 2.0.0 release is now available from the Maven repository.
(March 4, 2009)
* The Felix Remote Shell 1.0.4 release is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 27, 2009)
* The full Felix iPOJO 1.2.0 release (core + handlers) is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 9, 2009)
* {blank}
+
[cols=2*]
|===
| A lightning talk about http://www.fosdem.org/2009/schedule/events/apache_felix[Dynamic Deployment with Apache Felix] will be given at [FOSDEM '09
| http://www.fosdem.org/2009/] by Marcel Offermans (February 7, 2009)
|===

* The Felix iPOJO 1.2.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 5, 2009)
* The Felix Config Admin 1.0.10 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 1, 2009)
* The Felix Config Admin 1.0.8 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 27, 2009)
* The Felix Web Console 1.2.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(January 3, 2009)
* The Felix 1.4.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(December 24, 2008)
* The Framework 1.4.1 and Main 1.4.1 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(December 24, 2008)
* The Felix 1.4.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(November 13, 2008)
* New Framework 1.4.0, Main 1.4.0, and Bundle Repository 1.2.1 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(November 13, 2008)
* The Felix iPOJO 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 22, 2008)
* The Felix Web Console 1.2.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(October 14, 2008)
* The initial release of the Apache Felix Remote Shell is now available from the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
We would like to thank Dieter Wimberger for contributing this bundle to the Apache Felix project.
* The Felix 1.2.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(September 11, 2008)
* The Felix SCR 1.0.6, Metatype 1.0.2 and Maven SCR Plugin 1.0.8 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Sep 11, 2008)
* The File Install 0.9.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(August 31, 2008)
* The Maven SCR Plugin 1.0.7 release is now available from the Maven repository.
(August 22, 2008)
* The Maven Bundle Plugin 1.4.3 release (better cleanup of resources) is now available from the Maven repository.
(August 9, 2008)
* The Maven Bundle Plugin 1.4.2 release is now available from the Maven repository.
(August 8, 2008)
* The Felix SCR 1.0.4 and Configadmin 1.0.4 releases are now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(Aug 06, 2008)
* The Maven SCR Plugin 1.0.6 release is now available from the Maven repository.
(July 7, 2008)
* The Felix SCR 1.0.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 17, 2008)
* The Felix UPnP Base Driver 0.8.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(June 12, 2008)
* The Maven SCR Plugin 1.0.5 release is now available from the Maven repository.
(June 9, 2008)
* The Felix Web Console 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(May 26, 2008)
* The Maven Bundle Plugin 1.4.1 release is now available from the Maven repository.
(May 8, 2008)
* 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 https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(April 25, 2008)
* The Felix Config Admin 1.0.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(March 30, 2008)
* The Maven SCR Plugin 1.0.4 release is now available from the Maven repository.
(March 14, 2008)
* The Maven Bundle Plugin 1.4.0 release is now available from the Maven repository.
(February 26, 2008)
* The Maven Bundle Plugin 1.2.1 release is now available from the Maven repository.
(February 18, 2008)
* The Maven OBR Plugin 1.2.0 release is now available from the Maven repository.
(February 14, 2008)
* The Maven SCR Plugin 1.0.3 release is now available from the Maven repository.
(February 11, 2008)
* The Felix Preferences 1.0.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 11, 2008)
* The Felix Configadmin 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 4, 2008)
* The Felix SCR 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 4, 2008)
* The Felix Metatype 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 4, 2008)
* The Felix Eventadmin 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 4, 2008)
* The Felix 1.0.3 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 1, 2008)
* The Bundle Repository 1.0.2 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section and from the Maven repository.
(February 1, 2008)
* The Maven Bundle Plugin 1.2.0 release is now available from the Maven repository.
(January 21, 2008)
* The Maven OBR Plugin 1.0.0 release is now available from the Maven repository.
(January 12, 2008)
* The Maven SCR Plugin 1.0.2 release is now available from the Maven repository.
(January 12, 2008)
* The javax.servlet 1.0.0 release is now available from the Maven repository.
(January 12, 2008)
* The Maven SCR Plugin 1.0.1 release is now available from the Maven repository.
(December 24, 2007)
* The Maven SCR Plugin 0.4.0 release is now available from the Maven repository.
(November 5, 2007)
* The Felix 1.0.1 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(October 08, 2007)
* The Felix 1.0.0 release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
(July 28, 2007)
* New link:{{ refs.apache-felix-application-demonstration.path }}[example application] online.
(July 13, 2007)
* Feathercast http://feathercast.org/?p=46[podcast] about Felix released.
(May 23, 2007)
* Felix has graduated into a top level project!
* The Felix 0.8.0-incubator release is now available in the https://felix.apache.org/site/downloads.cgi[downloads] section.
* Felix has its own website!
(July 17, 2006)
