diff --git a/2q b/2q
new file mode 100644
index 0000000..437ff4b
--- /dev/null
+++ b/2q
@@ -0,0 +1,751 @@
+= News
+
+* Apache Felix Http Jetty 4.2.8 (March 4th, 2023)
+* Apache Felix Http Base 5.0.2, Http Bridge 5.0.4, Http Jetty 5.0.4, Http Base 4.2.4, Http Bridge 4.2.6, Http Jetty 4.2.6, Webconsole 4.8.8 (February 24th, 2023)
+* Apache Felix Http Base 5.0.0, Http Bridge 5.0.0, Http Jetty 5.0.0, Http Proxy 4.0.0, Http SSL Filter 2.0.0, Http Inventory Plugin 1.0.0, Http Webconsole Plugin 1.0.0 (December 27th)
+* Apache Felix Http Jetty 5.0.0-RC2 and Http Base 5.0.0-RC2 (November 25th, 2022)
+* Apache Felix CM JSON 2.0.0, Configurator 1.0.18 and Feature 1.0.2 (November 16th, 2022)
+* Apache Felix Http Jetty 5.0.0-RC1 and Http Base 5.0.0-RC1 (November 12th, 2022)
+* Apache Felix Configadmin 1.9.26 and CM JSON 1.0.8 (November 9th, 2022)
+* Apache Felix Http Servlet API 2.1.0 and Webconsole Plugin DS 2.2.0 (November 2nd, 2022)
+* Apache Felix Http Jetty 4.2.2, Http Bridge 4.2.2, and Http Base 4.2.2 (October 10th, 2022)
+* Apache Felix Webconsole 4.8.4 (September 5th, 2022)
+* Apache Felix Event Admin 1.6.4 (July 29th, 2022)
+* Apache Felix Health Check General Checks 3.0.4 (July 7th, 2022)
+* Apache Felix Health Check General Checks 3.0.2 and Http Servlet API 2.0.0 (June 13th, 2022)
+* 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)
diff --git a/modules/ROOT/pages/news.adoc b/modules/ROOT/pages/news.adoc
index 05e3e0e..437ff4b 100644
--- a/modules/ROOT/pages/news.adoc
+++ b/modules/ROOT/pages/news.adoc
@@ -1,5 +1,6 @@
 = News
 
+* Apache Felix Http Jetty 4.2.8 (March 4th, 2023)
 * Apache Felix Http Base 5.0.2, Http Bridge 5.0.4, Http Jetty 5.0.4, Http Base 4.2.4, Http Bridge 4.2.6, Http Jetty 4.2.6, Webconsole 4.8.8 (February 24th, 2023)
 * Apache Felix Http Base 5.0.0, Http Bridge 5.0.0, Http Jetty 5.0.0, Http Proxy 4.0.0, Http SSL Filter 2.0.0, Http Inventory Plugin 1.0.0, Http Webconsole Plugin 1.0.0 (December 27th)
 * Apache Felix Http Jetty 5.0.0-RC2 and Http Base 5.0.0-RC2 (November 25th, 2022)
