You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2019/04/24 12:31:34 UTC

[sling-org-apache-sling-committer-cli] 05/44: SLING-8311 - Investigate creating a Sling CLI tool for development task automation

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch feature/SLING-8337
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-committer-cli.git

commit ad74b228a8633bfb2b58f24056cd825146e8be33
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Mar 19 16:13:04 2019 +0100

    SLING-8311 - Investigate creating a Sling CLI tool for development task automation
    
    Add command for generating local changes to the website
---
 pom.xml                                            |   13 +-
 src/main/features/app.json                         |   12 +
 .../sling/cli/impl/jbake/JBakeContentUpdater.java  |  140 ++
 .../cli/impl/release/UpdateLocalSiteCommand.java   |    4 -
 .../cli/impl/jbake/JBakeContentUpdaterTest.java    |  197 +++
 src/test/resources/downloads.tpl                   |  474 +++++
 src/test/resources/releases.md                     | 1812 ++++++++++++++++++++
 7 files changed, 2647 insertions(+), 5 deletions(-)

diff --git a/pom.xml b/pom.xml
index 047121d..1f717d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -164,10 +164,21 @@
             <version>2.8.5</version>
             <scope>provided</scope>
         </dependency>
-        
+        <dependency>
+          <groupId>org.eclipse.jgit</groupId>
+          <artifactId>org.eclipse.jgit</artifactId>
+          <version>5.2.1.201812262042-r</version>
+          <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-library</artifactId>
+            <version>1.3</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/src/main/features/app.json b/src/main/features/app.json
index f07827d..4d310c4 100644
--- a/src/main/features/app.json
+++ b/src/main/features/app.json
@@ -56,6 +56,18 @@
 		{
 			"id": "com.google.code.gson:gson:2.8.5",
 			"start-level": "3"
+		},
+		{
+			"id": "org.eclipse.jgit:org.eclipse.jgit:5.2.1.201812262042-r",
+			"start-level": "3"
+		},
+		{
+			"id": "com.googlecode.javaewah:JavaEWAH:1.1.6",
+			"start-level": "3"
+		},
+		{
+			"id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch:0.1.55_1",
+			"start-level": "3"
 		}
 	],
 	"configurations": {
diff --git a/src/main/java/org/apache/sling/cli/impl/jbake/JBakeContentUpdater.java b/src/main/java/org/apache/sling/cli/impl/jbake/JBakeContentUpdater.java
new file mode 100644
index 0000000..52bd1a4
--- /dev/null
+++ b/src/main/java/org/apache/sling/cli/impl/jbake/JBakeContentUpdater.java
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cli.impl.jbake;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+public class JBakeContentUpdater {
+    
+    private static final Pattern DOWNLOAD_LINE_PATTERN = Pattern.compile("^.*\"([a-zA-Z\\s\\-]+)\\|([a-zA-Z\\.\\-]+)\\|([0-9\\.\\-]+).*$");
+
+    public int updateDownloads(Path downloadsTemplatePath, String newReleaseName, String newReleaseVersion) throws IOException {
+        
+        int[] changeCount = new int[1];
+        
+        List<String> updatedLines = Files.readAllLines(downloadsTemplatePath, StandardCharsets.UTF_8).stream()
+                .map(line -> {
+                    Matcher matcher = DOWNLOAD_LINE_PATTERN.matcher(line);
+                    if ( !matcher.find() )
+                        return line;
+                    
+                    if ( ! matcher.group(1).equals(newReleaseName) )
+                        return line;
+                    
+                    changeCount[0]++;
+                    
+                    StringBuilder buffer = new StringBuilder();
+                    buffer.append(line.substring(0, matcher.start(3)));
+                    buffer.append(newReleaseVersion);
+                    buffer.append(line.substring(matcher.end(3)));
+                    
+                    return buffer.toString();
+                }).collect(Collectors.toList());
+
+        Files.write(downloadsTemplatePath, updatedLines);
+        
+        return changeCount[0];
+    }
+
+    public void updateReleases(Path releasesPath, String releaseName, String releaseVersion, LocalDateTime releaseTime) throws IOException {
+        
+        List<String> releasesLines = Files.readAllLines(releasesPath, StandardCharsets.UTF_8);
+        String dateHeader = "## " + releaseTime.format(DateTimeFormatter.ofPattern("MMMM uuuu", Locale.ENGLISH));
+        
+        int releaseLineIdx = -1;
+        int dateLineIdx = -1;
+        for ( int i = 0 ; i < releasesLines.size(); i++ ) {
+            String releasesLine = releasesLines.get(i);
+            if ( releasesLine.startsWith("This is a list of all our releases") ) {
+                releaseLineIdx = i;
+            }
+            if ( releasesLine.equals(dateHeader) ) {
+                dateLineIdx = i;
+            }
+        }
+        
+        if ( dateLineIdx == -1 ) {
+            // need to add month marker
+            releasesLines.add(releaseLineIdx + 1, "");
+            releasesLines.add(releaseLineIdx + 2, dateHeader);
+            releasesLines.add(releaseLineIdx + 3, "");
+            dateLineIdx = releaseLineIdx + 2;
+        }
+        
+        String date = formattedDay(releaseTime);
+        
+        // inspect all lines in the current month ( until empty line found )
+        // to see if the release date already exists
+        boolean changed = false;
+        for ( int i = dateLineIdx +2 ; i < releasesLines.size(); i++ ) {
+            String potentialLine = releasesLines.get(i);
+            if ( potentialLine.trim().isEmpty() )
+                break;
+            
+            if ( potentialLine.endsWith("(" +date+")") ) {
+                if ( potentialLine.contains(releaseName + " " + releaseVersion ) ) {
+                    changed = true;
+                    break;
+                }
+                
+                int insertionIdx = potentialLine.indexOf('(') - 1;
+                StringBuilder buffer = new StringBuilder();
+                buffer
+                    .append(potentialLine.substring(0, insertionIdx))
+                    .append(", ")
+                    .append(releaseName)
+                    .append(' ')
+                    .append(releaseVersion)
+                    .append(' ')
+                    .append(potentialLine.substring(insertionIdx + 1));
+                
+                releasesLines.set(i, buffer.toString());
+                changed = true;
+                break;
+            }
+        }
+        
+        if ( !changed )
+            releasesLines.add(dateLineIdx + 2, "* " + releaseName + " " + releaseVersion +" (" + date + ")");
+
+        Files.write(releasesPath, releasesLines);
+    }
+    
+    private String formattedDay(LocalDateTime releaseTime) {
+        String date = releaseTime.format(DateTimeFormatter.ofPattern("d", Locale.ENGLISH));
+        switch (date) {
+        case "1":
+            return "1st";
+        case "2":
+            return "2nd";
+        case "3":
+            return "3rd";
+        default:
+            return date + "th";
+        }
+    }
+}
diff --git a/src/main/java/org/apache/sling/cli/impl/release/UpdateLocalSiteCommand.java b/src/main/java/org/apache/sling/cli/impl/release/UpdateLocalSiteCommand.java
index 483613e..10e836a 100644
--- a/src/main/java/org/apache/sling/cli/impl/release/UpdateLocalSiteCommand.java
+++ b/src/main/java/org/apache/sling/cli/impl/release/UpdateLocalSiteCommand.java
@@ -44,10 +44,6 @@ import org.slf4j.LoggerFactory;
 })
 public class UpdateLocalSiteCommand implements Command {
     
-    public static void main(String[] args) {
-        System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("MMMM uuuu", Locale.ENGLISH)));
-    }
-
     private static final String GIT_CHECKOUT = "/tmp/sling-site";
 
     @Reference
diff --git a/src/test/java/org/apache/sling/cli/impl/jbake/JBakeContentUpdaterTest.java b/src/test/java/org/apache/sling/cli/impl/jbake/JBakeContentUpdaterTest.java
new file mode 100644
index 0000000..5bbbc53
--- /dev/null
+++ b/src/test/java/org/apache/sling/cli/impl/jbake/JBakeContentUpdaterTest.java
@@ -0,0 +1,197 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cli.impl.jbake;
+
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.contains;
+import static org.junit.Assert.assertThat;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.diff.DiffEntry;
+import org.eclipse.jgit.diff.DiffEntry.ChangeType;
+import org.eclipse.jgit.diff.DiffEntry.Side;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+public class JBakeContentUpdaterTest {
+
+    @Rule
+    public TemporaryFolder tmp = new TemporaryFolder();
+    
+    private JBakeContentUpdater updater;
+    
+    @Before
+    public void setUp() throws IOException {
+        
+        updater = new JBakeContentUpdater();
+        // copy the file away so we don't modify what is in source control
+        Files.copy(getClass().getResourceAsStream("/downloads.tpl"), Paths.get(new File(tmp.getRoot(), "downloads.tpl").toURI()));
+        Files.copy(getClass().getResourceAsStream("/releases.md"), Paths.get(new File(tmp.getRoot(), "releases.md").toURI()));
+    }
+    
+    @Test
+    public void updateDownloadsTemplate_newReleaseOfExistingModule() throws IOException {
+        
+        updateDownloadsTemplate0("API", "2.20.2");
+    }
+
+    private void updateDownloadsTemplate0(String newReleaseName, String newReleaseVersion) throws IOException {
+        Path templatePath = Paths.get(new File(tmp.getRoot(), "downloads.tpl").toURI());
+        
+        int changeCount = updater.updateDownloads(templatePath, newReleaseName, newReleaseVersion);
+        assertThat("Unexpected count of changes", changeCount, equalTo(1));
+
+        String apiLine = Files.readAllLines(templatePath, StandardCharsets.UTF_8).stream()
+            .filter( l -> l.trim().startsWith("\"" + newReleaseName + "|"))
+            .findFirst()
+            .get();
+        
+        assertThat("Did not find modified version in the release line", apiLine, containsString(newReleaseVersion));
+    }
+
+    @Test
+    public void updateDownloadsTemplate_newReleaseOfExistingMavenPlugin() throws IOException {
+        
+        updateDownloadsTemplate0("Slingstart Maven Plugin", "1.9.0");
+    }
+
+    @Test
+    public void updateDownloadsTemplate_newReleaseOfIDETooling() throws IOException {
+
+        updateDownloadsTemplate0("Sling IDE Tooling for Eclipse", "1.4.0");
+    }
+    
+    @Test
+    public void updateReleases_releaseInExistingMonth() throws IOException, GitAPIException {
+        updateReleases0(LocalDateTime.of(2019, 2, 27, 22, 00), 
+            Arrays.asList( 
+                " " ,  
+                " ## February 2019", 
+                " " ,
+                "+* API 2.20.2 (27th)",
+                " * DataSource Provider 1.0.4, Resource Collection API 1.0.2, JCR ResourceResolver 3.0.18 (26th)",  
+                " * Scripting JSP Tag Library 2.4.0, Scripting JSP Tag Library (Compat) 1.0.0 (18th)",
+                " * Pipes 3.1.0 (15th)"
+            )
+        );
+        
+    }
+
+    private void updateReleases0(LocalDateTime releaseDate, List<String> expectedLines, String... releaseNameAndInfo) throws IOException, GitAPIException {
+        
+        if ( releaseNameAndInfo.length > 2 )
+            throw new IllegalArgumentException("Unexpected releaseNameAndInfo: " + Arrays.toString(releaseNameAndInfo));
+        
+        String releaseName = releaseNameAndInfo.length > 0 ? releaseNameAndInfo[0] : "API";
+        String releaseVersion = releaseNameAndInfo.length > 1 ? releaseNameAndInfo[1] : "2.20.2";
+        
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        
+        try ( Git git = Git.init().setDirectory(tmp.getRoot()).call() ) {
+            git.add()
+                .addFilepattern("downloads.tpl")
+                .addFilepattern("releases.md")
+                .call();
+            
+            git.commit()
+                .setMessage("Initial commit")
+                .call();
+            
+            Path releasesPath = Paths.get(new File(tmp.getRoot(), "releases.md").toURI());
+            updater.updateReleases(releasesPath, releaseName, releaseVersion, releaseDate);
+            
+            List<DiffEntry> changes = git.diff().setOutputStream(out).call();
+            
+            // ensure that the diff we're getting only refers to the releases file
+            // alternatively, when no changes are expected validate that
+            
+            if ( expectedLines.isEmpty() ) {
+                assertThat("changes.size", changes.size(), equalTo(0));
+                return;
+            }
+
+            assertThat("changes.size", changes.size(), equalTo(1));
+            assertThat("changes[0].type", changes.get(0).getChangeType(), equalTo(ChangeType.MODIFY));
+            assertThat("changes[0].path", changes.get(0).getPath(Side.NEW), equalTo("releases.md"));
+            
+            // now hack away on it safely
+            List<String> ignoredPrefixes = Arrays.asList("diff", "index", "---", "+++", "@@");
+            List<String> diffLines = Arrays.stream(new String(out.toByteArray(), StandardCharsets.UTF_8)
+                .split("\\n"))
+                .filter( l -> !ignoredPrefixes.stream().filter( p -> l.startsWith(p)).findAny().isPresent() )
+                .collect(Collectors.toList());
+            
+            assertThat(diffLines, contains(expectedLines.toArray(new String[0])));
+        }
+    }
+
+    @Test
+    public void updateReleases_releaseAlreadyExists() throws IOException, GitAPIException {
+        updateReleases0(LocalDateTime.of(2019, 2, 18, 22, 00), Collections.emptyList(), "Scripting JSP Tag Library", "2.4.0");
+    }
+    
+    @Test
+    public void updateReleases_releaseInNewMonth() throws IOException, GitAPIException {
+        updateReleases0(LocalDateTime.of(2019, 3, 15, 22, 00), 
+            Arrays.asList( 
+               " ~~~~~~",
+               " This is a list of all our releases, available from our [downloads](/downloads.cgi) page.",
+               " ",
+               "+## March 2019",
+               "+",
+               "+* API 2.20.2 (15th)",
+               "+",
+               " ## February 2019",
+               " ",
+               " * DataSource Provider 1.0.4, Resource Collection API 1.0.2, JCR ResourceResolver 3.0.18 (26th)"
+            )
+        );
+    }
+
+    @Test
+    public void updateReleases_releaseExistingMonthAndDay() throws IOException, GitAPIException {
+        updateReleases0(LocalDateTime.of(2019, 2, 26, 22, 00),
+            Arrays.asList(
+                " ", 
+                " ## February 2019", 
+                " ", 
+                "-* DataSource Provider 1.0.4, Resource Collection API 1.0.2, JCR ResourceResolver 3.0.18 (26th)",
+                "+* DataSource Provider 1.0.4, Resource Collection API 1.0.2, JCR ResourceResolver 3.0.18, API 2.20.2 (26th)", 
+                " * Scripting JSP Tag Library 2.4.0, Scripting JSP Tag Library (Compat) 1.0.0 (18th)", 
+                " * Pipes 3.1.0 (15th)", 
+                " * Testing OSGi Mock 2.4.6 (14th)"
+            )
+        );
+    }
+}
diff --git a/src/test/resources/downloads.tpl b/src/test/resources/downloads.tpl
new file mode 100644
index 0000000..5a0d578
--- /dev/null
+++ b/src/test/resources/downloads.tpl
@@ -0,0 +1,474 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// ------------------------------------------------------------------------------------------------
+// Sling downloads page
+// http://www.apache.org/dev/release-download-pages.html explains how the apache.org mirrored
+// downloads page work. Basically, we provide a downloads.html page with a few placeholders
+// and a form to select the download mirrog, and a downloads.cgi page which wraps the apache.org
+// download logic CGI.
+// ------------------------------------------------------------------------------------------------
+
+// ------------------------------------------------------------------------------------------------
+// Downloads template data
+// The page template itself is found below.
+// To convert from the old svn downloads.list ust
+//    while read l; do echo "  \"$l\","; done < content/downloads.list
+// ------------------------------------------------------------------------------------------------
+def launchpadVersion="11"
+
+def slingIDETooling=[
+  "Sling IDE Tooling for Eclipse|eclipse|1.2.2|A p2 update site which can be installed in Eclipse.|sling-ide-tooling"
+]
+
+def slingApplication=[
+  "Sling Starter Standalone|A self-runnable Sling jar|org.apache.sling.starter|.jar|${launchpadVersion}|Y",
+  "Sling Starter WAR|A ready-to run Sling webapp as a war file|org.apache.sling.starter|-webapp.war|${launchpadVersion}|Y",
+  "Sling Source Release|The released Sling source code|org.apache.sling.starter|-source-release.zip|${launchpadVersion}|Y",
+  "Sling CMS App|A reference CMS App built on Apache Sling|org.apache.sling.cms.builder|.jar|0.11.2|org.apache.sling.app.cms",
+]
+
+def mavenPlugins=[
+  "JSPC Maven Plugin|jspc-maven-plugin|2.1.0|Y",
+  "Maven Launchpad Plugin|maven-launchpad-plugin|2.3.4|Y",
+  "Sling Maven Plugin|sling-maven-plugin|2.4.0|Y",
+  "Slingstart Maven Plugin|slingstart-maven-plugin|1.8.2|Y",
+  "HTL Maven Plugin|htl-maven-plugin|1.2.2-1.4.0|Y",
+]
+
+def bundles=[
+  "Adapter|org.apache.sling.adapter|2.1.10|Y|jar",
+  "Adapter Annotations|adapter-annotations|1.0.0|Y|jar",
+  "API|org.apache.sling.api|2.20.0|Y|jar",
+  "Auth Core|org.apache.sling.auth.core|1.4.2|Y|jar",
+  "Auth Form|org.apache.sling.auth.form|1.0.12|Y|jar",
+  "Authentication XING API|org.apache.sling.auth.xing.api|0.0.2|Y|jar",
+  "Authentication XING Login|org.apache.sling.auth.xing.login|0.0.2|Y|jar",
+  "Authentication XING OAuth|org.apache.sling.auth.xing.oauth|0.0.2|Y|jar",
+  "Bundle Resource Provider|org.apache.sling.bundleresource.impl|2.3.2|Y|jar",
+  "Capabilities|org.apache.sling.capabilities|0.1.2|Y|jar",
+  "Capabilities JCR|org.apache.sling.capabilities.jcr|0.1.2|Y|jar",
+  "Clam|org.apache.sling.clam|1.0.2|Y|jar",   
+  "Classloader Leak Detector|org.apache.sling.extensions.classloader-leak-detector|1.0.0|Y|jar",
+  "CMS App API|org.apache.sling.cms.api|0.11.2|org.apache.sling.app.cms|jar",
+  "CMS App Core|org.apache.sling.cms.core|0.11.2|org.apache.sling.app.cms|jar",
+  "CMS App Reference|org.apache.sling.cms.reference|0.11.2|org.apache.sling.app.cms|jar",
+  "CMS App UI|org.apache.sling.cms.ui|0.11.2|org.apache.sling.app.cms|jar",
+  "Commons Classloader|org.apache.sling.commons.classloader|1.4.4|Y|jar",
+  "Commons Clam|org.apache.sling.commons.clam|1.0.2|Y|jar",
+  "Commons Compiler|org.apache.sling.commons.compiler|2.3.6|Y|jar",
+  "Commons FileSystem ClassLoader|org.apache.sling.commons.fsclassloader|1.0.8|Y|jar",
+  "Commons HTML|org.apache.sling.commons.html|1.1.0|Y|jar",
+  "Commons Johnzon|org.apache.sling.commons.johnzon|1.1.0|Y|jar",
+  "Commons Log|org.apache.sling.commons.log|5.1.10|Y|jar",
+  "Commons Log WebConsole Plugin|org.apache.sling.commons.log.webconsole|1.0.0|Y|jar",
+  "Commons Log Service|org.apache.sling.commons.logservice|1.0.6|Y|jar",
+  "Commons Metrics|org.apache.sling.commons.metrics|1.2.6|Y|jar",
+  "Commons RRD4J metrics reporter|org.apache.sling.commons.metrics-rrd4j|1.0.2|Y|jar",
+  "Commons Mime Type Service|org.apache.sling.commons.mime|2.2.0|Y|jar",
+  "Commons OSGi|org.apache.sling.commons.osgi|2.4.0|Y|jar",
+  "Commons Scheduler|org.apache.sling.commons.scheduler|2.7.2|Y|jar",
+  "Commons Testing|org.apache.sling.commons.testing|2.1.2|Y|jar",
+  "Commons Threads|org.apache.sling.commons.threads|3.2.18|Y|jar",
+  "Content Detection Support|org.apache.sling.commons.contentdetection|1.0.2|Y|jar",
+  "Context-Aware Configuration API|org.apache.sling.caconfig.api|1.1.2|Y|jar",
+  "Context-Aware Configuration bnd Plugin|org.apache.sling.caconfig.bnd-plugin|1.0.2|Y|jar",
+  "Context-Aware Configuration Impl|org.apache.sling.caconfig.impl|1.4.14|Y|jar",
+  "Context-Aware Configuration Mock Plugin|org.apache.sling.testing.caconfig-mock-plugin|1.3.2|Y|jar",
+  "Context-Aware Configuration SPI|org.apache.sling.caconfig.spi|1.3.4|Y|jar",
+  "Crankstart API|org.apache.sling.crankstart.api|1.0.0|N|jar",
+  "Crankstart API Fragment|org.apache.sling.crankstart.api.fragment|1.0.2|N|jar",
+  "Crankstart Core|org.apache.sling.crankstart.core|1.0.0|N|jar",
+  "Crankstart Launcher|org.apache.sling.crankstart.launcher|1.0.0|Y|jar",
+  "Crankstart Launcher Sling Extensions|org.apache.sling.crankstart.sling.extensions|1.0.0|Y|jar",
+  "Crankstart Launcher Test Services|org.apache.sling.crankstart.test.services|1.0.0|Y|jar",
+  "DataSource Provider|org.apache.sling.datasource|1.0.4|Y|jar",
+  "Discovery API|org.apache.sling.discovery.api|1.0.4|Y|jar",
+  "Discovery Impl|org.apache.sling.discovery.impl|1.2.12|Y|jar",
+  "Discovery Commons|org.apache.sling.discovery.commons|1.0.20|Y|jar",
+  "Discovery Base|org.apache.sling.discovery.base|2.0.8|Y|jar",
+  "Discovery Oak|org.apache.sling.discovery.oak|1.2.28|Y|jar",
+  "Discovery Standalone|org.apache.sling.discovery.standalone|1.0.2|Y|jar",
+  "Discovery Support|org.apache.sling.discovery.support|1.0.4|Y|jar",
+  "Distributed Event Admin|org.apache.sling.event.dea|1.1.4|Y|jar",
+  "Distribution API|org.apache.sling.distribution.api|0.3.0|Y|jar",
+  "Distribution Core|org.apache.sling.distribution.core|0.4.0|Y|jar",
+  "Distribution Integration Tests|org.apache.sling.distribution.it|0.1.2|Y|jar",
+  "Distribution Sample|org.apache.sling.distribution.sample|0.1.6|Y|jar",
+  "Dynamic Include|org.apache.sling.dynamic-include|3.1.2|Y|jar",
+  "Engine|org.apache.sling.engine|2.6.18|Y|jar",
+  "Event|org.apache.sling.event|4.2.12|Y|jar",
+  "Event API|org.apache.sling.event.api|1.0.0|Y|jar",
+  "Feature Model|org.apache.sling.feature|1.0.0|Y|jar",
+  "Feature Model Analyser|org.apache.sling.feature.analyser|0.8.0|Y|jar",
+  "Feature Model IO|org.apache.sling.feature.io|1.0.0|Y|jar",
+  "Feature Model Converter|org.apache.sling.feature.modelconverter|0.8.0|Y|jar",
+  "Feature Flags|org.apache.sling.featureflags|1.2.2|Y|jar",
+  "File Optimization|org.apache.sling.fileoptim|0.9.2|org.apache.sling.file.optimization|jar",
+  "File System Resource Provider|org.apache.sling.fsresource|2.1.14|Y|jar",
+  "I18n|org.apache.sling.i18n|2.5.12|Y|jar",
+  "HApi|org.apache.sling.hapi|1.1.0|Y|jar",
+  "Health Check Annotations|org.apache.sling.hc.annotations|1.0.6|Y|jar",
+  "Health Check Core|org.apache.sling.hc.core|1.2.10|Y|jar",
+  "Health Check API|org.apache.sling.hc.api|1.0.2|Y|jar",
+  "Health Check Integration Tests|org.apache.sling.hc.it|1.0.4|Y|jar",
+  "Health Check JUnit Bridge|org.apache.sling.hc.junit.bridge|1.0.2|Y|jar",
+  "Health Check Samples|org.apache.sling.hc.samples|1.0.6|Y|jar",
+  "Health Check Support|org.apache.sling.hc.support|1.0.4|Y|jar",
+  "Health Check Webconsole|org.apache.sling.hc.webconsole|1.1.2|Y|jar",
+  "Installer Core|org.apache.sling.installer.core|3.9.0|Y|jar",
+  "Installer Console|org.apache.sling.installer.console|1.0.2|Y|jar",
+  "Installer Configuration Support|org.apache.sling.installer.factory.configuration|1.2.0|Y|jar",
+  "Installer Health Checks|org.apache.sling.installer.hc|2.0.0|Y|jar",
+  "Installer Subystems Support|org.apache.sling.installer.factory.subsystems|1.0.0|Y|jar",
+  "Installer File Provider|org.apache.sling.installer.provider.file|1.1.0|Y|jar",
+  "Installer JCR Provider|org.apache.sling.installer.provider.jcr|3.1.26|Y|jar",
+  "Installer Vault Package Install Hook|org.apache.sling.installer.provider.installhook|1.0.4|Y|jar",
+  "javax activation|org.apache.sling.javax.activation|0.1.0|Y|jar",
+  "JCR API|org.apache.sling.jcr.api|2.4.0|Y|jar",
+  "JCR API Wrapper|org.apache.sling.jcr.jcr-wrapper|2.0.0|Y|jar",
+  "JCR Base|org.apache.sling.jcr.base|3.0.6|Y|jar",
+  "JCR ClassLoader|org.apache.sling.jcr.classloader|3.2.4|Y|jar",
+  "JCR Content Loader|org.apache.sling.jcr.contentloader|2.3.0|Y|jar",
+  "JCR Content Parser|org.apache.sling.jcr.contentparser|1.2.6|Y|jar",
+  "JCR DavEx|org.apache.sling.jcr.davex|1.3.10|Y|jar",
+  "JCR Jackrabbit AccessManager|org.apache.sling.jcr.jackrabbit.accessmanager|3.0.4|Y|jar",
+  "JCR Jackrabbit UserManager|org.apache.sling.jcr.jackrabbit.usermanager|2.2.8|Y|jar",
+  "JCR Oak Server|org.apache.sling.jcr.oak.server|1.2.2|Y|jar",
+  "JCR Registration|org.apache.sling.jcr.registration|1.0.6|Y|jar",
+  "JCR Repoinit|org.apache.sling.jcr.repoinit|1.1.8|Y|jar",
+  "JCR Resource|org.apache.sling.jcr.resource|3.0.18|Y|jar",
+  "JCR Resource Security|org.apache.sling.jcr.resourcesecurity|1.0.2|Y|jar",
+  "JCR Web Console Plugin|org.apache.sling.jcr.webconsole|1.0.2|Y|jar",
+  "JMX Resource Provider|org.apache.sling.jmx.provider|1.0.2|Y|jar",
+  "JCR WebDAV|org.apache.sling.jcr.webdav|2.3.8|Y|jar",
+  "JUnit Core|org.apache.sling.junit.core|1.0.26|Y|jar",
+  "JUnit Remote Tests Runners|org.apache.sling.junit.remote|1.0.12|Y|jar",
+  "JUnit Scriptable Tests Provider|org.apache.sling.junit.scriptable|1.0.12|Y|jar",
+  "JUnit Tests Teleporter|org.apache.sling.junit.teleporter|1.0.18|Y|jar",
+  "JUnit Health Checks|org.apache.sling.junit.healthcheck|1.0.6|Y|jar",
+  "Launchpad API|org.apache.sling.launchpad.api|1.2.0|Y|jar",
+  "Launchpad Base|org.apache.sling.launchpad.base|5.6.10-2.6.26|Y|jar",
+  "Launchpad Base - Application Launcher|org.apache.sling.launchpad.base|5.6.10-2.6.26|Y|war",
+  "Launchpad Base - Web Launcher|org.apache.sling.launchpad.base|5.6.10-2.6.26|Y|war",
+  "Launchpad Installer|org.apache.sling.launchpad.installer|1.2.2|Y|jar",
+  "Launchpad Integration Tests|org.apache.sling.launchpad.integration-tests|1.0.8|Y|jar",
+  "Launchpad Test Fragment Bundle|org.apache.sling.launchpad.test-fragment|2.0.16|Y|jar",
+  "Launchpad Test Bundles|org.apache.sling.launchpad.test-bundles|0.0.6|Y|jar",
+  "Launchpad Testing|org.apache.sling.launchpad.testing|11|Y|jar",
+  "Launchpad Testing WAR|org.apache.sling.launchpad.testing-war|11|Y|jar",
+  "Launchpad Testing Services|org.apache.sling.launchpad.test-services|2.0.16|Y|jar",
+  "Launchpad Testing Services WAR|org.apache.sling.launchpad.test-services-war|2.0.16|Y|war",
+  "Log Tracer|org.apache.sling.tracer|1.0.6|Y|jar",
+  "Models API|org.apache.sling.models.api|1.3.8|Y|jar",
+  "Models bnd Plugin|org.apache.sling.bnd.models|1.0.0|Y|jar",
+  "Models Implementation|org.apache.sling.models.impl|1.4.10|Y|jar",
+  "Models Jackson Exporter|org.apache.sling.models.jacksonexporter|1.0.8|Y|jar",
+  "NoSQL Generic Resource Provider|org.apache.sling.nosql.generic|1.1.0|Y|jar",
+  "NoSQL Couchbase Client|org.apache.sling.nosql.couchbase-client|1.0.2|Y|jar",
+  "NoSQL Couchbase Resource Provider|org.apache.sling.nosql.couchbase-resourceprovider|1.1.0|Y|jar",
+  "NoSQL MongoDB Resource Provider|org.apache.sling.nosql.mongodb-resourceprovider|1.1.0|Y|jar",
+  "Oak Restrictions|org.apache.sling.oak.restrictions|1.0.2|Y|jar",
+  "Pax Exam Utilities|org.apache.sling.paxexam.util|1.0.4|Y|jar",
+  "Performance Test Utilities|org.apache.sling.performance.base|1.0.2|org.apache.sling.performance|jar",
+  "Pipes|org.apache.sling.pipes|3.1.0|Y|jar",
+  "Provisioning Model|org.apache.sling.provisioning.model|1.8.4|Y|jar",
+  "Repoinit Parser|org.apache.sling.repoinit.parser|1.2.2|Y|jar",
+  "Resource Access Security|org.apache.sling.resourceaccesssecurity|1.0.0|Y|jar",
+  "Resource Builder|org.apache.sling.resourcebuilder|1.0.4|Y|jar",
+  "Resource Collection|org.apache.sling.resourcecollection|1.0.2|Y|jar",
+  "Resource Filter|org.apache.sling.resource.filter|1.0.0|Y|jar",
+  "Resource Inventory|org.apache.sling.resource.inventory|1.0.8|Y|jar",
+  "Resource Merger|org.apache.sling.resourcemerger|1.3.8|Y|jar",
+  "Resource Presence|org.apache.sling.resource.presence|0.0.2|Y|jar",
+  "Resource Resolver|org.apache.sling.resourceresolver|1.6.6|Y|jar",
+  "Rewriter|org.apache.sling.rewriter|1.2.2|Y|jar",
+  "Failing Server-Side Tests|org.apache.sling.testing.samples.failingtests|1.0.6|N|jar",
+  "Sample Integration Tests|org.apache.sling.testing.samples.integrationtests|1.0.6|N|jar",
+  "Sample Server-Side Tests|org.apache.sling.testing.samples.sampletests|1.0.6|N|jar",
+  "Scripting API|org.apache.sling.scripting.api|2.2.0|Y|jar",
+  "Scripting Console|org.apache.sling.scripting.console|1.0.0|Y|jar",
+  "Scripting Core|org.apache.sling.scripting.core|2.0.56|Y|jar",
+  "Scripting EL API Wrapper|org.apache.sling.scripting.el-api|1.0.0|Y|jar",
+  "Scripting Java|org.apache.sling.scripting.java|2.1.2|Y|jar",
+  "Scripting JavaScript|org.apache.sling.scripting.javascript|3.0.4|Y|jar",
+  "Scripting JSP|org.apache.sling.scripting.jsp|2.3.4|Y|jar",
+  "Scripting JSP API Wrapper|org.apache.sling.scripting.jsp-api|1.0.0|Y|jar",
+  "Scripting JSP Taglib|org.apache.sling.scripting.jsp.taglib|2.4.0|Y|jar",
+  "Scripting Groovy|org.apache.sling.scripting.freemarker|1.0.0|Y|jar",
+  "Scripting Groovy|org.apache.sling.scripting.groovy|1.0.4|Y|jar",
+  "Scripting HTL Runtime|org.apache.sling.scripting.sightly.runtime|1.1.0-1.4.0|Y|jar",
+  "Scripting HTL Compiler|org.apache.sling.scripting.sightly.compiler|1.1.2-1.4.0|Y|jar",
+  "Scripting HTL Java Compiler|org.apache.sling.scripting.sightly.compiler.java|1.1.2-1.4.0|Y|jar",
+  "Scripting HTL Engine|org.apache.sling.scripting.sightly|1.1.2-1.4.0|Y|jar",
+  "Scripting HTL JavaScript Use Provider|org.apache.sling.scripting.sightly.js.provider|1.0.28|Y|jar",
+  "Scripting HTL Sling Models Use Provider|org.apache.sling.scripting.sightly.models.provider|1.0.8|Y|jar",
+  "Scripting HTL REPL|org.apache.sling.scripting.sightly.repl|1.0.6|Y|jar",
+  "Scripting Thymeleaf|org.apache.sling.scripting.thymeleaf|2.0.0|Y|jar",
+  "Security|org.apache.sling.security|1.1.16|Y|jar",
+  "Service User Mapper|org.apache.sling.serviceusermapper|1.4.2|Y|jar",
+  "Service User WebConsole|org.apache.sling.serviceuser.webconsole|1.0.0|Y|jar",
+  "Servlet Annotations|org.apache.sling.servlets.annotations|1.2.4|Y|jar",
+  "Servlet Helpers|org.apache.sling.servlet-helpers|1.1.8|Y|jar",
+  "Servlets Get|org.apache.sling.servlets.get|2.1.40|Y|jar",
+  "Servlets Post|org.apache.sling.servlets.post|2.3.28|Y|jar",
+  "Servlets Resolver|org.apache.sling.servlets.resolver|2.5.2|Y|jar",
+  "Settings|org.apache.sling.settings|1.3.10|Y|jar",
+  "Slf4j MDC Filter|org.apache.sling.extensions.slf4j.mdc|1.0.0|Y|jar",
+  "Sling Query|org.apache.sling.query|4.0.2|Y|jar",
+  "Starter Content|org.apache.sling.starter.content|1.0.2|Y|jar",
+  "Starter Startup|org.apache.sling.starter.startup|1.0.6|Y|jar",
+  "Superimposing Resource Provider|org.apache.sling.superimposing|0.2.0|Y|jar",
+  "System Bundle Extension: Activation API|org.apache.sling.fragment.activation|1.0.2|Y|jar",
+  "System Bundle Extension: WS APIs|org.apache.sling.fragment.ws|1.0.2|Y|jar",
+  "System Bundle Extension: XML APIs|org.apache.sling.fragment.xml|1.0.2|Y|jar",
+  "Tenant|org.apache.sling.tenant|1.1.4|Y|jar",
+  "Testing Clients|org.apache.sling.testing.clients|1.2.0|Y|jar",
+  "Testing Email|org.apache.sling.testing.email|1.0.0|Y|jar",
+  "Testing Hamcrest|org.apache.sling.testing.hamcrest|1.0.2|Y|jar",
+  "Testing JCR Mock|org.apache.sling.testing.jcr-mock|1.4.2|Y|jar",
+  "Testing Logging Mock|org.apache.sling.testing.logging-mock|2.0.0|Y|jar",
+  "Testing OSGi Mock Core|org.apache.sling.testing.osgi-mock.core|2.4.6|org.apache.sling.testing.osgi-mock|jar",
+  "Testing OSGi Mock JUnit 4|org.apache.sling.testing.osgi-mock.junit4|2.4.6|org.apache.sling.testing.osgi-mock|jar",
+  "Testing OSGi Mock JUnit 5|org.apache.sling.testing.osgi-mock.junit5|2.4.6|org.apache.sling.testing.osgi-mock|jar",
+  "Testing PaxExam|org.apache.sling.testing.paxexam|2.0.0|Y|jar",
+  "Testing Rules|org.apache.sling.testing.rules|1.0.8|Y|jar",
+  "Testing Resource Resolver Mock|org.apache.sling.testing.resourceresolver-mock|1.1.22|Y|jar",
+  "Testing Server Setup Tools|org.apache.sling.testing.serversetup|1.0.1|Y|jar",
+  "Testing Sling Mock Core|org.apache.sling.testing.sling-mock.core|2.3.4|org.apache.sling.testing.sling-mock|jar",
+  "Testing Sling Mock JUnit 4|org.apache.sling.testing.sling-mock.junit4|2.3.4|org.apache.sling.testing.sling-mock|jar",
+  "Testing Sling Mock JUnit 5|org.apache.sling.testing.sling-mock.junit5|2.3.4|org.apache.sling.testing.sling-mock|jar",
+  "Testing Sling Mock Oak|org.apache.sling.testing.sling-mock-oak|2.1.2|Y|jar",
+  "Tooling Support Install|org.apache.sling.tooling.support.install|1.0.4|Y|jar",
+  "Tooling Support Source|org.apache.sling.tooling.support.source|1.0.4|Y|jar",
+  "URL Rewriter|org.apache.sling.urlrewriter|0.0.2|Y|jar",
+  "Validation API|org.apache.sling.validation.api|1.0.0|Y|jar",
+  "Validation Core|org.apache.sling.validation.core|1.0.4|Y|jar",
+  "Web Console Branding|org.apache.sling.extensions.webconsolebranding|1.0.2|Y|jar",
+  "Web Console Security Provider|org.apache.sling.extensions.webconsolesecurityprovider|1.2.0|Y|jar",
+  "XSS Protection|org.apache.sling.xss|2.1.0|Y|jar",
+  "XSS Protection Compat|org.apache.sling.xss.compat|1.1.0|N|jar"
+]
+                                                                      
+def deprecated=[
+  "Auth OpenID|Not Maintained|org.apache.sling.auth.openid|1.0.4",
+  "Auth Selector|Not Maintained|org.apache.sling.auth.selector|1.0.6",
+  "Background Servlets Engine|Not Maintained|org.apache.sling.bgservlets|1.0.8",
+  "Background Servlets Integration Test|Not Maintained|org.apache.sling.bgservlets.testing|1.0.0",
+  "Commons JSON|Replaced with Commons Johnzon|org.apache.sling.commons.json|2.0.20",
+  "Explorer|Replaced with Composum|org.apache.sling.extensions.explorer|1.0.4",
+  "GWT Integration|Not Maintained|org.apache.sling.extensions.gwt.servlet|3.0.0",
+  "JCR Compiler|Replaced with FS ClassLoader|org.apache.sling.jcr.compiler|2.1.0",
+  "JCR Jackrabbit Server|Replaced with Apache Jackrabbit Oak|org.apache.sling.jcr.jackrabbit.server|2.3.0",
+  "JCR Prefs|Replaced with CA Configs|org.apache.sling.jcr.prefs|1.0.0",
+  "Karaf repoinit|Removed|org.apache.sling.karaf-repoinit|0.2.0",
+  "Launchpad Content|Replaced with Starter Content|org.apache.sling.launchpad.content|2.0.12",
+  "Path-based RTP sample|Not Maintained|org.apache.sling.samples.path-based.rtp|2.0.4",
+  "Scripting JSP Taglib Compat|Superseded by the XSS API bundle|org.apache.sling.scripting.jsp.taglib.compat|1.0.0",
+  "Scripting JST|Not Maintained|org.apache.sling.scripting.jst|2.0.6",
+  "Servlets Compat|Not Maintained|org.apache.sling.servlets.compat|1.0.2",
+  "Testing Sling Mock Jackrabbit|Not Maintained|org.apache.sling.testing.sling-mock-jackrabbit|1.0.0",
+  "Testing Tools|SLING-5703|org.apache.sling.testing.tools|1.0.16",
+  "Thread Dumper|Replaced with Apache Felix Thread Dumper|org.apache.sling.extensions.threaddump|0.2.2"
+]
+
+// ------------------------------------------------------------------------------------------------
+// Utilities
+// ------------------------------------------------------------------------------------------------
+def downloadLink(label, artifact, version, suffix) {
+	def sep = version ? "-" : ""
+	def path = "sling/${artifact}${sep}${version}${suffix}"
+	def digestsBase = "https://www.apache.org/dist/${path}"
+
+	a(href:"[preferred]${path}", label)
+	yield " ("
+	a(href:"${digestsBase}.asc", "asc")
+	yield ", "
+	a(href:"${digestsBase}.sha1", "sha1")
+	yield ")"
+	newLine()
+}
+
+def githubLink(artifact,ghflag) {
+	if(ghflag == 'Y') {
+		artifact = artifact.replaceAll('\\.','-')
+    def url = "https://github.com/apache/sling-${artifact}"
+    // remove duplicate sling- prefix
+    url = url.replaceAll('sling-sling-','sling-')
+		a(href:url, "GitHub")
+		newLine()
+	} else if (ghflag != 'N') {
+		artifact = ghflag.replaceAll('\\.','-')
+    // remove duplicate sling- prefix
+    def url = "https://github.com/apache/sling-${artifact}"
+    url = url.replaceAll('sling-sling-','sling-')
+		a(href:url, "GitHub")
+		newLine()
+	} else {
+		yield "N/A"
+	}
+}
+
+def tableHead(String [] headers) {
+	thead() {
+		tr() {
+			headers.each { header ->
+				th(header)
+			}
+		}
+	}
+
+}
+
+ // ------------------------------------------------------------------------------------------------
+// Downloads page layout
+// ------------------------------------------------------------------------------------------------
+layout 'layout/main.tpl', true,
+        projects: projects,
+        tags : contents {
+            include template: 'tags-brick.tpl'
+        },
+        lastModified: contents {
+            include template : 'lastmodified-brick.tpl'
+        },
+        bodyContents: contents {
+
+            div(class:"row"){
+                div(class:"small-12 columns"){
+                    section(class:"wrap"){
+                        yieldUnescaped content.body
+
+						h2("Sling Application")
+						table(class:"table") {
+							tableHead("Artifact", "Version", "GitHub", "Provides", "Package")
+							tbody() {
+								slingApplication.each { line ->
+									tr() {
+										def data = line.split("\\|")
+										td(data[0])
+										td(data[4])
+										td(){
+											githubLink(data[2], data[5])
+										}
+										td(data[1])
+										def artifact = "${data[2]}-${data[4]}${data[3]}"
+										td(){
+											downloadLink(artifact, artifact, "", "")
+										}
+									}
+								}
+							}
+						}
+
+						h2("Sling IDE Tooling")
+						table(class:"table") {
+							tableHead("Artifact", "Version", "Provides", "Update Site")
+							tbody() {
+								slingIDETooling.each { line ->
+									tr() {
+										def data = line.split("\\|")
+										td(data[0])
+										td(data[2])
+										td(data[3])
+										def artifact = "${data[1]}/${data[2]}"
+										td(){
+											downloadLink("Update site", artifact, "", "")
+										}
+									}
+								}
+							}
+						}
+
+						h2("Sling Components")
+						table(class:"table") {
+							tableHead("Artifact", "Version", "GitHub", "Binary", "Source")
+							tbody() {
+								bundles.each { line ->
+									tr() {
+										def data = line.split("\\|")
+										td(data[0])
+										td(data[2])
+										def artifact = data[1]
+										def version = data[2]
+										def ghflag = data[3]
+										def extension = data[4]
+										td(){
+											githubLink(artifact,ghflag)
+										}
+										td(){
+											downloadLink("Bundle", artifact, version, "." + extension)
+										}
+										td(){
+											downloadLink("Source ZIP", artifact, version, "-source-release.zip")
+										}
+									}
+								}
+							}
+						}
+
+						h2("Maven Plugins")
+						table(class:"table") {
+							tableHead("Artifact", "Version", "GitHub", "Binary", "Source")
+							tbody() {
+								mavenPlugins.each { line ->
+									tr() {
+										def data = line.split("\\|")
+										td(data[0])
+										td(data[2])
+										def artifact = data[1]
+										def version = data[2]
+										def ghflag = data[3]
+										td(){
+											githubLink(artifact, ghflag)
+										}
+										td(){
+											downloadLink("Maven Plugin", artifact, version, ".jar")
+										}
+										td(){
+											downloadLink("Source ZIP", artifact, version, "-source-release.zip")
+										}
+									}
+								}
+							}
+						}
+    
+						h2("Deprecated")
+						table(class:"table") {
+							tableHead("Artifact", "Replacement", "Version", "Binary", "Source")
+							tbody() {
+								deprecated.each { line ->
+									tr() {
+										def data = line.split("\\|")
+										td(data[0])
+										td(data[1])
+										td(data[3])
+										def artifact = data[2]
+										def version = data[3]
+										td(){
+											downloadLink("Bundle", artifact, version, ".jar")
+										}
+										td(){
+											downloadLink("Source ZIP", artifact, version, "-source-release.zip")
+										}
+									}
+								}
+							}
+						}
+                    }
+                }
+            }
+        }
diff --git a/src/test/resources/releases.md b/src/test/resources/releases.md
new file mode 100644
index 0000000..aec47ec
--- /dev/null
+++ b/src/test/resources/releases.md
@@ -0,0 +1,1812 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+    license agreements. See the NOTICE file distributed with this work for additional 
+    information regarding copyright ownership. The ASF licenses this file to 
+    you under the Apache License, Version 2.0 (the "License"); you may not use 
+    this file except in compliance with the License. You may obtain a copy of 
+    the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+    by applicable law or agreed to in writing, software distributed under the 
+    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+    OF ANY KIND, either express or implied. See the License for the specific 
+    language governing permissions and limitations under the License. -->
+
+title=Releases
+type=page
+status=published
+tags=news
+tableOfContents=false
+~~~~~~
+This is a list of all our releases, available from our [downloads](/downloads.cgi) page.
+
+## February 2019
+
+* DataSource Provider 1.0.4, Resource Collection API 1.0.2, JCR ResourceResolver 3.0.18 (26th)
+* Scripting JSP Tag Library 2.4.0, Scripting JSP Tag Library (Compat) 1.0.0 (18th)
+* Pipes 3.1.0 (15th)
+* Testing OSGi Mock 2.4.6 (14th)
+* Feature Model 1.0.0 and Feature Model IO 1.0.0 (1st)
+
+## January 2019
+
+* XSS Protection API 2.1.0 (29th)
+* Scripting HTL Runtime 1.1.0-1.4.0, Scripting HTL Compiler 1.1.2-1.4.0, Scripting HTL Java Compiler 1.1.2-1.4.0, Scripting HTL Engine 1.1.2-1.4.0, HTL Maven Plugin 1.2.4-1.4.0 (28th)
+* XSS Protection API 2.0.14 (24th)
+* Commons HTML 1.1.0 (22nd)
+* Tenant 1.1.4 (16th)
+* Servlets Post 2.3.28, Sling Maven Plugin 2.4.0 (14th)
+* Engine 2.6.18 (11th)
+
+## December 2018
+
+* JCR Jackrabbit Access Manager 3.0.4, JCR ContentLoader 2.3.0 (20th)
+* API 2.20.0, Servlets Resolver 2.5.2, Servlets Annotations 1.2.4 (18th)
+* Capabilities 0.1.2, Capabilities JCR 0.1.2 (17th)
+* JCR Base 3.0.6 (16th)
+* JCR Oak Server 1.2.2 (16th)
+* Servlet GET 2.1.40 (11th)
+* Testing Sling Mock Oak 2.1.2 (11th)
+* Distribution Core 0.4.0 (10th)
+* Commons ClassLoader 1.4.4, JCR ClassLoader 3.2.4 (8th)
+* Scripting Core 2.0.56 (4th)
+
+## November 2018
+
+* App CMS 0.11.2 (28th)
+* Testing JCR Mock 1.4.2, OSGi Mock 2.4.4 (19th)
+* Servlets Get 2.1.38 and Servlets Resolver 2.4.24 (13th)
+* Installer Vault Package Install Hook 1.0.4 (12th)
+* Distributed Event Admin 1.1.4, App CMS 0.11.0 (9th)
+* Models API 1.3.8 (8th)
+* Capabilities 0.1.0, Capabilities JCR 0.1.0, Scripting HTL Runtime 1.0.0-1.4.0, Scripting HTL Compiler 1.1.0-1.4.0, Scripting HTL Java Compiler 1.1.0-1.4.0, Scripting HTL Engine 1.1.0-1.4.0, HTL JS Use Provider 1.0.28, HTL Models Use Provider 1.0.8, Scripting HTL Testing Content 1.0.14-1.4.0, Scripting HTL Testing 1.0.14-1.4.0, HTL Maven Plugin 1.2.2-1.4.0 (5th)
+
+## October 2018
+
+* Sling 11, Slingstart Archetype 1.0.8, JUnit Tests Teleporter 1.0.18 (23rd)
+* Sling Oak Restrictions 1.0.2 (21nd)
+* Form Based Authentication Handler 1.0.12, Starter Content 1.0.2 (19th)
+* Installer Vault Package Install Hook 1.0.2 (15th)
+* Scripting HTL Engine 1.0.56-1.4.0, Scripting HTL Testing Content 1.0.12-1.4.0, Scripting HTL Testing 1.0.12-1.4.0, HTL Maven Plugin 1.2.0-1.4.0
+* Clam 1.0.0, Commons Clam 1.0.0 (1st)
+
+## September 2018
+
+* Security 1.1.16 (25th)
+* Distribution Core 0.3.4 (21st)
+* Jackrabbit UserManager Support 2.2.8, Jackrabbit JSR-283 Access Control Manager Support 3.0.2 (17th)
+* Pipes 3.0.2 (17th)
+* File Optimization 0.9.2, Clam 1.0.0, Commons Clam 1.0.0, Commons Metrics 1.2.6, Commons Mime 2.2.0, Scripting FreeMarker 1.0.0, Scripting Groovy 1.0.4, Scripting Thymeleaf 2.0.0, Service User Mapper 1.4.2, Settings 1.3.10 (12th)
+* Servlets Annotations 1.1.0 (11th)
+* Commons Log 5.1.10 (10th)
+* Resource Filter 1.0.0 (8th)
+* Context-Aware Configuration API 1.1.2 (5th)
+* Context-Aware Configuration SPI 1.3.4 (5th)
+* Context-Aware Configuration Impl 1.4.14 (5th)
+* Sling Tenant 1.1.2 (5th)
+* Testing Sling Mock 2.3.4 (3rd)
+* Testing OSGi Mock 2.4.2 (3rd)
+
+## August 2018
+
+* Servlets Get 2.1.34, Discovery Oak 1.2.28 (31st)
+* Testing JCR Mock 1.4.0, API 2.18.4, ResourceResolver 1.6.6 (27th)
+* Testing Sling Mock 2.3.2 (27th)
+* Installer Core 3.9.0 (27th)
+* Installer Factory Configuration 1.2.0 (27th)
+* Bundle Resource 2.3.2 (24th)
+* Resource Builder 1.0.4 (21th)
+* Testing JCR Mock 1.3.6 (21th)
+* ResourceResolver Mock 1.1.22 (21th)
+* OSGi Mock 2.4.0 (21th)
+* Sling Mock 2.3.0 (21th)
+* Sling Mock Oak 2.1.0 (21th)
+* Context-Aware Configuration Mock Plugin 1.3.2 (21th)
+* Maven Sling Plugin 2.3.8 (17th)
+* JCR Repository Registration 1.0.6 (14th)
+* Apache Sling JCR Resource Resolver 3.0.16 (14th)
+* Dynamic Include 3.1.2 (14th)
+* Engine 2.16.14 (13th)
+* Parent POM 34 (9th)
+* Scripting HTL Java Compiler 1.0.26-1.4.0 (7th)
+* HTL Maven Plugin 1.1.8-1.4.0 (7th)
+* XSS Protection API 2.0.12 (7th)
+* Servlet Helpers 1.1.8 (6th)
+* Testing JCR Mock 1.3.4 (6th)
+* Testing OSGi Mock 2.3.10 (6th)
+* Testing Sling Mock 2.2.20 (6th)
+* Resource Resolver 1.6.4 (3rd)
+* JCR Resource 3.0.14 (3rd)
+* File Optimization 0.9.0 (1st)
+* App CMS 0.9.0 (1st)
+
+## July 2018
+
+* API 2.18.2 (30th)
+* Sling Content Loader 2.2.6 (6th)
+* XSS Protection API 2.0.8 (3rd)
+
+## June 2018
+
+* Scripting HTL Compiler 1.0.22-1.4.0 (22nd)
+* Scripting HTL Java Compiler 1.0.24-1.4.0 (22nd) 
+* Scripting HTL Engine 1.0.54-1.4.0 (22nd)
+* Scripting HTL Testing Content 1.0.10-1.4.0 (22nd)
+* Scripting HTL Testing 1.0.10-1.4.0 (22nd) 
+* HTL Maven Plugin 1.1.6-1.4.0 (22nd)
+* Scripting HTL REPL 1.0.6 (22nd)
+* Servlet Annotations 1.0.0 (19th)
+* Commons Threads 3.2.18 (19th)
+* SlingStart Maven Plugin 1.8.2 (16th)
+* Feature Model 0.1.2 (2nd)
+
+## May 2018
+
+* Commons Log 5.1.8 (24th) 
+* JSP Taglib 2.3.0 (22nd) 
+* Servlets Post 2.3.26 (22nd)
+* Form Based Authentication 1.0.10 (22nd)
+* Starter Content 1.0.0 (22nd)
+* Starter Startup 1.0.6 (22nd)
+* Servlets Get 2.1.32 (21st)
+* Servlet Helpers 1.1.6 (12th)
+* Commons HTML 1.0.2 (12th)
+* IDE tooling for Eclipse 1.2.2 (9th)
+* Context-Aware Configuration Impl 1.4.12 (7th)
+* Maven Sling Plugin 2.3.6 (7th)
+* Sling Query 4.0.2 (5th)
+* JCR Content Parser 1.2.6 (5th)
+* Feature Model 0.1.0 (1st)
+
+## April 2018
+
+* Commons Log 5.1.6 (24th)
+* File System Resource Provider 2.1.14 (23rd)
+* Installer Heath Checks 2.0.0 (11th)
+
+## March 2018
+
+* Commons Log 5.1.4 (26th)
+* Testing OSGi Mock 2.3.8 (23th)
+* Resource Resolver 1.6.0 (22nd)
+* JCR Resource 3.0.10 (22nd)
+* API 2.18.0 (19th)
+* Security 1.1.12 (19th)
+* XSS Protection API 2.0.6
+* Scripting HTL Engine 1.0.52-1.3.1 (16th)
+* Scripting HTL Testing 1.0.8-1.3.1 (16th)
+* Testing PaxExam 2.0.0 (7th)
+* JCR Oak Server 1.2.0 (7th)
+* Models Impl 1.4.8 (5th)
+* Testing Sling Mock 2.2.18 (1st)
+* Servlet Helpers 1.1.4 (1st)
+
+## February 2018
+
+* Installer Core 3.8.12 (19th)
+* Sling Pipes 2.0.2 (7th)
+* Discovery Base 2.0.8 (6th)
+* Discovery Support 1.0.4 (6th)
+* File System Resource Provider 2.1.12 (5th)
+* Starter 10 (3rd)
+* Launchpad Testing 10 (3rd)
+* Launchpad Testing WAR 10 (3rd)
+* Launchpad Integration Tests 1.0.6 (3rd)
+* Launchpad Test Bundles 0.0.4 (3rd)
+* Launchpad Testing Fragment Bundle 2.0.14 (3rd)
+* Launchpad Testing Services 2.0.14 (3rd)
+* Launchpad Testing Services WAR 2.0.14 (3rd)
+* Archetype Parent 5 (3rd)
+* Bundle Archetype 1.0.6 (3rd)
+* JCRInstall Bundle Archetype 1.0.6 (3rd)
+* Initial Content Archetype 1.0.6 (3rd)
+* Slingstart Archetype 1.0.6 (3rd)
+* Testing PaxExam 1.0.0 (2nd)
+* Scripting HTL Compiler 1.0.20-1.3.1 (1st)
+* Scripting HTL Java Compiler 1.0.22-1.3.1 (1st)
+* Scripting HTL Engine 1.0.48-1.3.1 (1st)
+* Scripting HTL Testing Content 1.0.8-1.3.1 (1st)
+* Scripting HTL Testing 1.0.6-1.3.1 (1st)
+* HTL Maven Plugin 1.1.4-1.3.1 (1st)
+
+## January 2018
+
+* Thread Support 3.2.16 (31st)
+* I18N Support 2.5.12 (29th)
+* Testing Sling Mock 1.9.12 (29th)
+* Testing Sling Mock 2.2.16 (29th)
+* Resource Merger 1.3.8 (20th)
+* Parent 33 (20th)
+* Context-Aware Configuration Impl 1.4.10 (19th)
+* Commons Compiler 2.3.6 (19th)
+* ServiceUser Mapper 1.4.0 (18th)
+* ServiceUser WebConsole 1.0.0 (18th)
+* SlingStart Maven Plugin 1.7.16 (15th)
+* File System Resource Provider 2.1.10 (15th)
+* Resource Merger 1.3.6 (15th)
+* XSS Protection API 2.0.4 (8th)
+
+## December 2017
+
+* Validation Core 1.0.4 (21st)
+* Test Services 1.0.4 (21st)
+* Slingstart Maven Plugin 1.7.14 (21st)
+* Scripting Core 2.0.54 (19th)
+* Scripting JavaScript 3.0.4 (19th)
+* Scripting HTL JS Use Provider 1.0.26 (19th)
+* Scripting HTL Compiler 1.0.16 (19th)
+* Scripting HTL Engine 1.0.46 (19th)
+* Auth Core 1.4.0 (18th)
+* Servlets Resolver 2.4.22 (13th)
+* Scripting HTL Java Compiler 1.0.18 (8th)
+* HTL Maven Plugin 1.1.2 (8th)
+* Commons Metrics 1.2.4 (5th)
+* Scripting JSP 2.3.4 (4th)
+* Commons Log 5.1.0 (1st)
+* Metrics RRD4J 1.0.2 (1st)
+* Engine 2.6.10 (1st)
+* Feature Flags 1.2.2 (1st)
+* i18n 2.5.10 (1st)
+* Security 1.1.10 (1st)
+
+## November 2017
+
+* Event Support 4.2.10 (30th)
+* JCR Registration 1.0.4 (30th)
+* Scripting HTL Java Compiler 1.0.16 (27th)
+* Scripting HTL Engine 1.0.44 (27th)
+* HTL Maven Plugin 1.1.0 (27th)
+* Starter Startup 1.0.4 (27th)
+* Security 1.1.8 (20th)
+* Context-Aware Configuration Impl 1.4.8 (13th)
+* Sling API 2.16.4 (6th)
+* Sling JCR ResourceResolver 3.0.6 (6th)
+* Sling Default GET Servlets 2.1.28 (6th)
+
+## October 2017
+
+* Scripting Core 2.0.50 (23rd)
+* Maven Sling Plugin 2.3.4 (17th)
+* Servlet Helpers 1.0.2 (17th)
+* Servlet Helpers 1.1.2 (17th)
+* JCR Mock 1.3.2 (17th)
+* ResourceResolver Mock 1.1.20 (17th)
+* OSGi Mock 1.9.8 (17th)
+* OSGi Mock 2.3.4 (17th)
+* Sling Mock 1.9.10 (17th)
+* Sling Mock 2.2.14 (17th)
+* Discovery Oak 1.2.22 (17th)
+* Starter Startup 1.0.2 (10th)
+* Context-Aware Configuration Impl 1.4.6 (9th)
+* Query 4.0.0 (4th)
+* Thread Support 3.2.10 (2nd)
+
+## September 2017
+
+* Scripting Core 2.0.48 (29th)
+* Event Support 4.2.8 (29th)
+* SlingStart Maven Plugin 1.7.10 (29th)
+* JUnit Tests Teleporter 1.0.16 (29th)
+* Testing Utilities 2.1.2 (29th)
+* Pipes 1.1.0 (24th)
+* Maven Sling Plugin 2.3.2 (23th)
+* Repoinit JCR version 1.1.6 (22th)
+* Repoinit Parser version 1.2.0 (22th)
+* Context-Aware Configuration Impl 1.4.4 (22th)
+* Scripting HTL Compiler 1.0.14 (20th)
+* Scripting HTL Java Compiler 1.0.14 (20th)
+* Scripting HTL Engine 1.0.42 (20th)
+* Commons Scheduler 2.7.2 (19th)
+* Commons Compiler 2.3.4 (17th)
+* Commons Compiler 2.3.2 (9th)
+* RRD4J metrics reporter 1.0.0 (8th)
+* Scripting JavaScript 3.0.2 (4th)
+* Scripting HTL JS Use Provider 1.0.24 (4th)
+* Scripting HTL Engine 1.0.40 (4th)
+* Parent POM 32 (4th)
+* Java Version Maven Plugin 1.0.0 (4th)
+* Scripting HTL Compiler 1.0.12 (1st)
+* Scripting HTL Java Compiler 1.0.12 (1st)
+* Scripting HTL Engine 1.0.38 (1st)
+
+## August 2017
+
+* Launchpad Base 5.6.8-2.6.24 (31st)
+* Provisioning Model 1.8.4 (28th)
+* Slingstart Maven Plugin 1.7.8 (28th)
+* Servlets Resolver 2.4.14 (28th)
+* Commons Scheduler 2.7.0 (25th)
+* Scripting JSP 2.3.2 (24th)
+* Rewriter 1.2.2 (17th)
+* Launchpad Base 5.6.6-2.6.22 (17th)
+* Event 4.2.6 (16th)
+* Default POST Servlets 2.3.22 (14th)
+* Parent 31 (8th)
+* Security 1.1.6 (7th)
+* Scripting HTL Engine 1.0.38 (7th)
+* Scripting HTL Compiler 1.0.10 (7th)
+* HTL Maven Plugin 1.0.8 (7th)
+* Launchpad Base 5.6.6-2.6.20 (3rd)
+
+## July 2017 
+
+* Resource Resolver 1.5.30 (27th)
+* Service User Mapper 1.3.4 (21th)
+* Resource Resolver 1.5.28 (21th)
+* JCR Base 3.0.4 (21th)
+* JCR Resource 3.0.4 (21th)
+* File System Resource Provider 2.1.8 (18th)
+* File System Resource Provider 1.4.8 (18th)
+* Commons Johnzon 1.1.0 (17th)
+* Discovery Base 2.0.4 (10th)
+* Discovery Oak 1.2.20 (10th)
+* Resource Resolver 1.5.26 (10th)
+
+## June 2017 
+
+* Auth Core 1.4.0 (29th)
+* Event 4.2.4 (26th)
+* JCR Content Parser 1.2.4 (26th)
+* File System Resource Provider 2.1.6 (26th)
+* File System Resource Provider 1.4.6 (26th)
+* Security 1.1.4 (21st)
+* Testing Clients 1.1.4 (20th)
+* Testing Email 1.0.0 (20th)
+* Resource Merger 1.3.4 (20th)
+* Slingstart Archetype (15th)
+* JSPC Maven Plugin 2.1.0 (15th)
+* Slingstart Archetype 1.0.2 (15th)
+* Sling 9
+* Launchpad Testing 9
+* Launchpad Testing WAR version 9 (12th)
+* Launchpad Testing Fragment Bundle 2.0.12 (12th)
+* Launchpad Testing Services 2.0.12 (12th)
+* Launchpad Test Bundles 0.0.2 (12th)
+* Launchpad Testing Services WAR 2.0.12 (12th)
+* Integration Tests 1.0.4 (12th)
+* JUnit Core 1.0.26 (6th)
+* Testing Clients 1.1.0 (6th)
+* JUnit Remote Test Runners 1.0.12 (6th)
+* Tooling Support Install 1.0.4 (6th)
+* Tooling Support Source 1.0.4 (6th)
+* Resource Inventory 1.0.8 (6th)
+* Content Distribution Core 0.2.8 (6th)
+* Testing Sling Mock 2.2.12 (6th)
+* Log Tracer 1.0.4 (6th)
+* Commons Metrics 1.2.2 (6th)
+* JCR Content Parser 1.2.2 (2nd)
+* JCR ContentLoader 2.2.4 (2nd)
+* File System Resource Provider 2.1.4 (2nd)
+* File System Resource Provider 1.4.4 (2nd)
+* Maven Sling Plugin 2.3.0 (2nd)
+* SLF4J Implementation (Logback) 5.0.2 (1st)
+
+## May 2017
+
+* JCR Resource 3.0.2 (31st)
+* JCR Content Parser 1.2.0 (29th)
+* File System Resource Provider 2.1.2 (29th)
+* File System Resource Provider 1.4.2 (29th)
+* Maven Sling Plugin 2.2.2 (29th)
+* Context-Aware Configuration SPI 1.3.2 (29th)
+* Context-Aware Configuration Impl 1.4.2 (29th)
+* Context-Aware Configuration Mock Plugin 1.3.0 (29th)
+* Launchpad Content 2.0.12 (29th)
+* Servlet Post 2.3.20 (28th)
+* JCR Contentloader 2.2.2 (28th)
+* Launchpad Base 5.6.4-2.6.18 (28th)
+* Service User Mapper 1.3.2 (22nd)
+* JCR Base Bundle 3.0.2 (22nd)
+* Web Console Branding 1.0.2 (22nd)
+* Engine Implementation 2.6.8 (22nd)
+* Servlets Get 2.1.26 (19th)
+* Servlets Post 2.3.18 (19th)
+* Commons Scheduler 2.6.2 (18th)
+* Installer Core 3.8.10 (18th)
+* Models Impl 1.4.2 (15th)
+* Testing OSGi Mock 2.3.2 (15th)
+* OSGi Mock 1.9.6 (15th)
+* Sling Mock 2.2.10 (15th)
+* Sling Mock 1.9.8 (15th)
+* Auth Core 1.3.24 (15th)
+* JUnit Scriptable Tests Provider 1.0.12 (12th)
+* XSS Protection Compat Bundle 1.1.0 (11th)
+* Scripting JavaScript 3.0.0 (11th)
+* Junit Core 1.0.24 (11th)
+* Junit Teleporter 1.0.14 (11th)
+* Testing Tools 1.0.16 (11th)
+* Adapter 2.1.10 (11th)
+* Servlets Get 2.1.24 (11th)
+* Servlets Post 2.3.16 (11th)
+* JCR Jackrabbit Access Manager 3.0.0 (11th)
+* Healthcheck API 1.0.0 (11th)
+* Healthcheck Core 1.2.8 (11th)
+* Discovery Commons 1.0.20 (11th)
+* Discovery Base 2.0.0 (11th)
+* Discovery Impl 1.2.12 (11th)
+* Discovery Oak 1.2.18 (11th)
+* Scripting HTL Java Compiler 1.0.10 (9th)
+* Scripting HTL Engine 1.0.34 (9th)
+* Scripting HTL JS Use Provider 1.0.22 (9th)
+* Servlets Resolver 2.4.12 (9th)
+* Installer Core 3.8.8 (8th)
+* JCR ContentLoader 2.2.0 (8th)
+* Pax Exam Utilities 1.0.4 (8th)
+* File System Resource Provider 2.1.0 (8th)
+* File System Resource Provider 1.4.0 (8th)
+* JCR Content Parser 1.1.0 (8th)
+* XSS Protection Bundle 2.0.0 (5th)
+* XSS Protection Compat Bundle 1.0.0 (5th)
+* Sling Resource Resolver 1.5.24 (5th)
+* Context-Aware Configuration Impl 1.4.0 (5th)
+* Context-Aware Configuration Mock Plugin 1.2.0 (5th)
+* Testing JCR Mock 1.3.0 (5th)
+* OSGi Mock 2.3.0 (5th)
+* Sling Mock 2.2.8 (5th)
+* Models API 1.3.4 (1st)
+* Models Implementation 1.4.0 (1st)
+* JCR Installer Provider 3.1.26 (1st)
+* JCR Resource 3.0.0 (1st)
+* Sling Slingstart Maven Plugin 1.7.4 (1st)
+* Service User Mapper 1.3.0 (1st)
+* Scripting API 2.2.0
+* Tooling Support Source 1.0.2 (1th)
+
+## April 2017
+
+* Commons Johnzon 1.0.0 (29th)
+* Event API 1.0.0 (19th)
+* Validation API (12th)
+* Validation Core 1.0.0 (12th)
+* Testing ResourceResolver Mock 1.1.18 (4th)
+* JCR Jackrabbit User Manager 2.2.6 (3rd)
+
+## March 2017
+
+* Resource Resolver 1.5.22 (30th)
+* Service User Mapper 1.2.6 (30th)
+* Testing Sling Mock 2.2.6 (30th)
+* Sling Mock 1.9.6 (30th)
+* Sling Mock Oak 1.0.2 (30th)
+* Context-Aware Configuration Implementation 1.3.2 (30th)
+* File System Resource Provider 2.0.0 (30th)
+* File System Resource Provider 1.3.0 (30th)
+* CAConfig SPI 1.3.0 (24th)
+* CAConfig Impl 1.3.0 (24th)
+* CAConfig Mock Plugin 1.1.0 (24th)
+* Maven Sling Plugin 2.2.0 (24th)
+* JCR Content Parser 1.0.0 (23th)
+* Testing OSGi Mock 2.2.4 (23th)
+* Testing OSGi Mock 1.9.4 (23th)
+* Commons JSON 2.0.20 (20th)
+* Karaf repoinit 0.2.0 (20th)
+* Scripting JSP API Wrapper 1.0.0 (20th)
+* Scripting JSP EL Wrapper 1.0.0 (20th)
+* Scripting JSP 2.3.0 (20th)
+* Testing PaxExam 0.0.4 (20th)
+* JCR Oak Server 1.1.4 (20th)
+* Scripting Thymeleaf 1.1.0 (20th)
+* Resource Presence 0.0.2 (20th)
+* Resource Resolver 1.5.20 (13th)
+* JCR Repoinit 1.1.4 (13th)
+* i18n 2.5.8 (8th)
+* JCR Installer 3.1.24 (8th)
+* XSS 1.0.18 (8th)
+* HTL JavaScript Use Provider 1.0.20 (8th)
+* Scripting Core 2.0.46 (8th)
+* Health Check Core 1.2.6 (8th)
+* Event 4.2.2 (8th)
+* Distributed Event Admin 1.1.2 (8th)
+* Content Distribution Core 0.2.6 (2nd)
+* Installer Health Checks 1.0.0 (2nd)
+* Parent 30 (Mar 6th) (2nd)
+* Scripting HTL Compiler 1.0.8 (2nd)
+* Scripting HTL Engine 1.0.32 (2nd)
+* Commons Classloader 1.4.0 (1st)
+* Commons File System Classloader 1.0.6 (1st)
+
+## February 2017
+
+* Resource Resolver 1.5.14 (28th)
+* JUnit Tests Teleporter 1.0.12 (28th)
+* Slingstart Maven Plugin 1.7.2 (28th)
+* Installer Core 3.8.6 (20th)
+* Content Distribution Core 0.2.4 (20th)
+* Content Distribution Core 0.2.0 (14th)
+* Servlets GET 2.1.22 (12th)
+* Resource Merger 1.3.2 (8th)
+* DavEx Access to repositories 1.3.8 (8th)
+* Simple WebDAV Access to repositories 2.3.8 (8th)
+* Launchpad Base 2.6.16 (5th)
+* Servlets GET 2.1.20 (3rd)
+* Commons ClassLoader 1.3.8 (3rd)
+
+## January 2017 
+
+* Resource Inventory 1.0.6 (31st)
+* Installer Core 3.8.2 (31st)
+* JSP 2.2.6 (30th)
+* Auth Core 1.3.24 (30th)
+* File System Resource Provider 1.2.2 (23th)
+* Maven Sling Plugin 2.1.10 (23th)
+* Resource Resolver 1.5.12 (23th)
+* Tenant 1.1.0 (17th)
+* Scripting HTL Compiler 1.0.6 (17th)
+* Scripting HTL Java Compiler 1.0.8 (17th)
+* Scripting HTL Engine 1.0.30 (17th)
+* HTL Maven Plugin 1.0.6 (17th)
+* JSP 2.2.4 (16th)
+* Resource Resolver 1.5.10 (13th)
+* JUnit Core 1.0.23 (11th)
+* JUnit Tests Teleporter 1.0.10 (11th)
+* Testing Clients 1.0.1 (11th)
+* Server Setup Tools 1.0.1 (11th)
+* Testing Rules 1.0.1 (11th)
+* Scripting HTL Compiler 1.0.4 (9th)
+* Scripting HTL Java Compiler 1.0.6 (9th)
+* Scripting HTL Engine 1.0.28 (9th)
+* Scripting HTL Models Use Provider 1.0.6 (9th)
+* Scripting HTL JS Use Provider 1.0.18 (9th)
+* HTL Maven Plugin 1.0.4 (9th)
+* Testing Hamcrest 1.0.2 (7th)
+
+## December
+
+* Testing ResourceResolver Mock 1.1.16 (27th)
+* Servlets Resolver 2.4.10 (24th)
+* File System Classloader 1.0.4 (24th)
+* Installer Console 1.0.2 (24th)
+* Resource Resolver 1.5.8 (23rd)
+* JCR Resource 2.9.2 (23rd)
+* Slingshot Sample 0.8.0 (23rd)
+* Sling Mock 2.2.4 (22th)
+* Sling Mock 1.9.4 (22th)
+* JUnit Core 1.0.22 (22th)
+* Models API 1.3.2 (22th)
+* Models Impl 1.3.8 (22th)
+* Service User Mapper 1.2.4 (22th)
+* JCR Base 3.0.0 (20th)
+* Dynamic Include 3.0.0 (20th)
+* i18n 2.5.6 (19th)
+* JCR RepoInit module 1.1.2 (19th)
+* API 2.16.2 (18th)
+* Slingstart Maven Plugin 1.7.0 (18th)
+* JCR Resource 2.9.0 (16th)
+* Scripting JSP 2.2.2 (16th)
+* Scripting Java 2.1.2 (16th)
+* Provisioning Model 1.8.0 (16th)
+* Testing JCR Mock 1.2.0 (16th)
+* OSGi Mock 2.2.2 (16th)
+* OSGi Mock 1.9.2 (16th)
+* Sling Mock 2.2.2 (16th)
+* Sling Mock 1.9.2 (16th)
+* JUnit Core 1.0.20 (16th)
+* Context-Aware Configuration API 1.1.0 (16th)
+* Context-Aware Configuration SPI 1.2.0 (16th)
+* Context-Aware Configuration Impl 1.2.0 (16th)
+* Context-Aware Configuration bnd Plugin 1.0.2 (16th)
+* Context-Aware Configuration Mock Plugin 1.0.0 (16th)
+* Scripting API 2.1.12 (15th)
+* Scripting Core 2.0.44 (15th)
+* JCR Installer 3.1.22 (13th)
+* Commons Metrics 1.2.0 (13th)
+* OSGi Mock 2.2.0 (8th)
+* OSGi Mock 1.9.0 (8th)
+* Sling Mock 2.2.0 (8th)
+* Sling Mock 1.9.0 (8th)
+* API 2.16.0 (6th)
+* Resource Resolver 1.5.6 (6th)
+* Servlets Resolver 2.4.8 (6th)
+* JCR Resource 2.8.4 (6th)
+
+## November 2016
+
+* Models bnd Plugin 1.0.0 (24th)
+* Commons ClassLoader 1.3.6 (24th)
+* JCR Resource 2.8.2 (22th)
+* Security 1.1.2 (22th)
+* Models Implementation 1.3.4 (22th)
+* Models Jackson Exporter 1.0.4 (22th)
+* Resource Resolver 1.5.4 (21st)
+* Discovery Base 1.1.6 (21st)
+* Discovery Commons 1.0.18 (21st)
+* Discovery Impl 1.2.10 (21st)
+* Discovery Oak 1.2.16 (21st)
+* Auth Core 1.3.22 (15th)
+* JCR Base 2.4.2 (14th)
+* Provisioning Model 1.7.0 (13th)
+* Slingstart Maven Plugin 1.6.0 (13th)
+* JCR Repoinit 1.1.0 (12th)
+* Repoinit Parser 1.1.0 (12th)
+* Slingstart Maven Plugin 1.5.0 (11th)
+* Installer Core 3.8.0 (10th)
+* Context-Aware Configuration SPI 1.1.0 (10th)
+* Context-Aware Configuration Impl 1.1.0 (10th)
+* Resource Resolver 1.5.2 (8th)
+* Provisioning Model 1.6.0 (8th)
+* HTL Maven Plugin 1.0.2 (8th)
+* Commons Mime 2.1.10 (7th)
+* Web Console Security Provider 1.2.0 (6th)
+* Models API 1.3.0 (3th)
+* Models Implementation 1.3.0 (3th)
+* Models Jackson Exporter 1.0.0 (3th)
+
+## October 2016
+
+* Launchpad Base 2.6.14 (31st)
+* Provisioning Model 1.5.0 (31st)
+* XSS Protection API 1.0.16 (31st)
+* Commons Scheduler 2.5.2 (27th)
+* API 2.15.0 (25st)
+* Resource Resolver 1.5.0 (25st)
+* Installer Core 3.7.0 (25st)
+* Scripting HTL Engine 1.0.26 (24th)
+* Commons Log 5.0.0 (24th)
+* Log WebConsole 1.0.0 (24th)
+* DataSource Provider 1.0.2 (24th)
+* Log Tracer 1.0.2 (24th)
+* Servlets Resolver 2.4.6 (22nd)
+* Scripting JSP 2.2.0 (20th)
+* Engine 2.6.6 (20th)
+* Scripting Java 2.1.0 (20th)
+* Scripting HTL JS Use Provider 1.0.16 (20th)
+* Context-Aware Configuration API 1.0.0
+* Context-Aware Configuration SPI 1.0.0 (18th)
+* Context-Aware Configuration Impl 1.0.0 (18th)
+* Context-Aware Configuration bnd Plugin 1.0.0 (18th)
+* Resource Builder 1.0.2 (18th)
+* Testing Hamcrest 1.0.0 (18th)
+* Scripting Core 2.0.40 (17th)
+* Scripting HTL Java Compiler 1.0.4 (17th)
+* Scripting HTL Engine 1.0.24 (17th)
+* Launchpad Base 2.6.12 (16th)
+* Event 3.4.0 (15th)
+* Distributed Eventing 1.1.0 (15th)
+* Rewriter 1.2.0 (15th)
+* Pipes 0.0.10 (14th)
+* Scripting HTL Compiler 1.0.2 (13th)
+* Scripting HTL Java Compiler 1.0.2 (13th)
+* Scripting HTL Engine 1.0.22 (13th)
+* Scripting HTL JS Use Provider 1.0.14 (13th)
+* Scripting HTL Models Use Provider 1.0.4 (13th)
+* Testing Sling Mock 2.1.2 (10th)
+* i18n 2.5.4 (8th)
+* Oak Restrictions 1.0.0 (3rd)
+
+## September 2016
+
+* Discovery Commons 1.0.16 (29th)
+* Discovery Oak 1.2.14 (29th)
+* Testing Clients 1.0.0 (16th)
+* Server Setup Tools 1.0.0 (16th)
+* Testing Rules 1.0.0 (16th)
+* Auth Core 1.3.20 (19th)
+* JUnit Core 1.0.18 (19th)
+* JUnit Tests Teleporter 1.0.8 (19th)
+* Testing Logging Mock 2.0.0 (19th)
+* JCR Mock 1.1.16 (19th)
+* OSGi Mock 1.8.0 (19th)
+* OSGi Mock 2.1.0 (19th)
+* Sling Mock 1.8.0 (19th)
+* Sling Mock 2.1.0 (19th)
+* Sling Mock Oak 2.0.2 (19th)
+* Resource Builder 1.0.0 (19th)
+* Servlet Helpers 1.1.0 (19th)
+* Scripting HTL Compiler 1.0.0 (8th)
+* Scripting HTL Java Compiler 1.0.0 (8th)
+* Scripting HTL Engine 1.0.20 (8th)
+* Scripting HTL JS Use Provider 1.0.12 (8th)
+* Scripting HTL Models Use Provider 1.0.2 (8th)
+* Scripting HTL REPL 1.0.4 (8th)
+* HTL Maven Plugin 1.0.0 (8th)
+* Discovery Oak 1.2.10 (5th)
+
+## August 2016
+
+* RepoInit Parser 1.0.4 (29th)
+* RepoInit JCR module 1.0.2 (29th)
+* XSS Protection API 1.0.14 (29th)
+* Auth Core 1.3.18 (29th)
+* Testing Tools 1.0.14 (29th)
+* Engine 2.6.2 (26th)
+* Commons Testing 2.1.0 (26th)
+* API 2.14.2 (26th)
+* Resource Resolver 1.4.18 (26th)
+* Servlets Get 2.1.18 (25th)
+* Engine 2.6.0 (22nd)
+* Feature Flags 1.2.0 (22nd)
+* Background Servlets 1.0.8 (19th)
+* XSS Protection API 1.0.12 (19th)
+* I18n 2.5.2 (18th)
+* Hypermedia API client-side tools 1.0.0 (18th)
+* Testing PaxExam 0.0.2 (17th)
+* JCR Oak Server 1.1.0 (17th)
+* Security 1.1.0 (15th)
+* i18n 2.5.0 (8th)
+* i18n 2.4.10 (8th)
+* Engine 2.5.0 (5th)
+* i18n 2.4.8 (5th)
+* Feature Flags 1.1.0 (5th)
+* Event Support 4.1.0 (1st)
+
+## July 2016
+
+* Resource Resolver 1.4.16 (25th)
+* Launchpad Testing Services 2.0.10 (25th)
+* Launchpad Testing Services WAR 2.0.10 (25th)
+* Launchpad Integration Tests 1.0.2 (25th)
+* API 2.14.0 (25th)
+* Commons Scheduler 2.5.0 (24th)
+* Resource Resolver 1.4.14 (21st)
+* Discovery Base 1.1.4 (17th)
+* Discovery Impl 1.2.8 (17th)
+* Discovery Oak 1.2.8 (17th)
+* Testing Sling Mock 1.7.0 (15th)
+* Sling Mock 2.0.0 (15th)
+* Sling Mock Oak 2.0.0 (15th)
+* Commons Testing 2.0.26 (13th)
+* Scripting Core 2.0.38 (13th)
+* Servlets Resolver 2.4.4 (13th)
+* Repoinit Parser 1.0.2 (11th)
+* Repoinit JCR 1.0.0 (11th)
+* API 2.12.0 (9th)
+* Scripting Thymeleaf 1.0.0 (4th)
+
+## June 2016
+
+* Auth Core 1.3.16 (29th)
+* Adapter Manager 2.1.8 (28th)
+* Repository API Bundle 2.4.0 (27th)
+* JCR Base Bundle 2.4.0 (27th)
+* Rewriter 1.1.4 (26th)
+* JCR Resource 2.8.0 (22nd)
+* Scripting JavaScript 2.0.30 (22nd)
+* Testing JCR Mock 1.1.14 (13th)
+* OSGi Mock 2.0.4 (13th)
+* ResourceResolver Mock 1.1.14 (13th)
+* Provisioning Model 1.4.4
+* Slingstart Maven Plugin 1.4.4 (10th)
+* Servlets Post 2.3.12 (1st)
+
+## May 2016
+
+* JSON Library 2.0.16 (27th)
+
+## April 2016
+
+* Discovery API 1.0.4 (29th)
+* Log Tracer version 1.0.0 (25th)
+* Resource Resolver 1.4.12 (25th)
+* Scripting JSP-Taglib version 2.2.6 (21st)
+* Auth Core 1.3.14 (12th)
+* Servlets Post (10th)
+* Resource Resolver (7th)
+* Event 4.0.2 (4th)
+
+## March 2016
+
+* Discovery Commons 1.0.12 (29th)
+* Scripting Sightly Engine 1.0.18 (18th)
+* Apache Maven Sling Plugin 2.1.8 (16th)
+* IDE Tooling for Eclipse 1.1.0 (14th)
+* Resource Resolver 1.4.8 (11th)
+* JCR Resource 2.7.4 (11th)
+* Installer Core 3.6.8 (11th)
+* Health Check Core 1.2.4 ( 8th)
+* Health Checks Annotations 1.0.4 ( 8th)
+* JCR Davex 1.3.2 ( 8th)
+* JCR Webdav 2.3.4 ( 8th)
+* Scripting Sightly Engine 1.0.16 (5th)
+* Tooling Support Source 1.0.0 (3rd)
+* Background Servlets Engine 1.0.6 (2nd)
+* Background Servlets Integration Test 1.0.0 (2nd)
+
+## February 2016
+
+* NoSQL Generic Resource Provider 1.1.0 (27th)
+* Couchbase Client 1.0.2 (27th)
+* Couchbase Resource Provider 1.1.0 (27th)
+* MongoDB Resource Provider 1.1.0 (27th)
+* Resource Resolver 1.4.4 (26th)
+* Scripting Sightly Engine 1.0.14 (26th)
+* JCR Base 2.3.2 (23rd)
+* Internationalization Support (I18N) 2.4.6 (22nd)
+* Resource Resolver 1.4.2 (19th)
+* JCR Resource 2.7.2 (19th)
+* Servlets Resolver 2.4.2 (19th)
+* JCR Installer 3.1.18 (15th)
+* Resource Merger 1.3.0 (14th)
+* Scripting Core 2.0.36 (12th)
+* Slingstart Maven Plugin 1.4.2 (11th)
+* API 2.11.0 (8th)
+* Resource Resolver 1.4.0 (8th)
+* JCR Resource 2.7.0 (8th)
+* Servlets Resolver 2.4.0 (8th)
+* Testing OSGi Mock 1.7.2 (8th)
+* OSGi Mock 2.0.2 (8th)
+* JCR Mock 1.1.12 (8th)
+* Sling Mock 1.6.2 (8th)
+* ResourceResolver Mock 1.1.12 (8th)
+* Servlet Helpers 1.0.0 (8th)
+* Discovery Oak 1.2.6 (8th)
+* HApi 1.0.0 (5th) (2nd)
+* XSS Protection API 1.0.8 (2nd)
+* Scripting Sightly Engine 1.0.12 (2nd)
+* Discovery Commons 1.0.10 (1st)
+* Discovery Oak 1.2.4 (1st)
+* Testing Tools 1.0.12 (1st)
+
+## January 2016
+
+* Thread Support 3.2.6 (25th)
+* Models Impl 1.2.6 (23st)
+* Testing Utilities 2.0.24 (21st)
+* Commons Metrics 1.0.0 (15th)
+* Scripting Sightly Engine 1.0.10 (12th)
+* Scripting Groovy 1.0.2 (12th)
+* Slingstart Maven Plugin 1.4.0 (8th)
+* Commons OSGi 2.4.0 (8th)
+* Engine Implementation 2.4.6 (8th)
+* Scripting JavaScript 2.0.28 (8th)
+* JUnit Tests Teleporter 1.0.6 (3rd)
+* JUnit Core 1.0.16 (3rd)
+* Settings 1.3.8 (3rd)
+* Launchpad Base 2.6.10 (3rd)
+* Scripting JSP 2.1.8 (3rd)
+* Commons Threads 3.2.4 (3rd)
+* Discovery Standalone 1.0.2 (3rd)
+* Parent POM 26 (3rd
+
+## December 2015
+
+* Provisioning Model 1.4.2 (28th)
+* Commons Scheduler 2.4.14 (21st)
+* Servlets GET 2.1.14 (21st)
+* Scripting Java 2.0.14 (20th)
+* Models Impl 1.2.4 (14th)
+* Sling Testing OSGi Mock 2.0.0 (14th)
+* Commons Scheduler 2.4.12 (14th)
+* Launchpad Base 2.6.8 (11th)
+* Event 4.0.0 (1st)
+
+## November 2015
+
+* Discovery Commons 1.0.6 (30th)
+* Discovery Base 1.1.2 (30th)
+* Discovery Oak 1.2.0 (30th)
+* iscovery Impl 1.2.6 (30th)
+* Thread Support 3.2.2 ( 29th)
+* Background Servlets Engine 1.0.2 (23rd)
+* JUnit Core 1.0.14 (23rd)
+* JUnit Tests Teleporter 1.0.4 (23rd)
+* Security 1.0.18 (20th)
+* Discovery Commons 1.0.4 (16th)
+* Discovery Base 1.1.0 (16th)
+* Discovery Oak 1.1.0 (16th)
+* Discovery Impl 1.2.2 (16th)
+* Commons Testing 2.0.22 (12th)
+* Commons JSON 2.0.16 (12th)
+* Maven Sling Plugin 2.1.6 (12th)
+* Testing OSGi Mock 1.7.0 (9th)
+* Discovery Commons 1.0.2 (5th)
+* Discovery Base 1.0.2 (5th)
+* Discovery Oak 1.0.2 (5th)
+* Discovery Impl 1.2.0 (5th)
+* IDE Tooling 1.0.10 (9th)
+* Discovery Commons 1.0.0 (2nd)
+* Discovery Base 1.0.0 (2nd)
+* Discovery Oak 1.0.0 (2nd)
+
+## October 2015
+
+* Rewriter 1.1.2 (27th)
+* Launchpad Base 2.6.6 (26th)
+* Event 3.7.6 (26th)
+* Provisioning Model 1.4.0 (26th)
+* Maven Launchpad Plugin 2.3.4 (26th)
+* Archetype Parent version 4 (19th)
+* Bundle Archetype version 1.0.4 (19th)
+* JCRInstall Bundle Archetype 1.0.4 (19th)
+* Initial Content Archetype 1.0.4 (19th)
+* Servlet Archetype 1.0.4 (19th)
+* Slingstart Archetype 1.0.0 (19th)
+* Auth Core 1.3.12 (18th)
+* Sling 8 (16th)
+* Maven Plugin for Supporting Bundle Development 2.1.2 (15th)
+* Auth Forms 1.0.8 (13)
+* Scripting Sightly Engine 1.0.6 (12th)
+* Scripting Sightly Models Use Provider 1.0.0 (12th)
+* Scripting Sightly REPL 1.0.2 (12th)
+* Scripting JavaScript 2.0.26 (12th)
+* XSS Protection API 1.0.6 (12th)
+* Oak Repository Server 1.0.0 (12th)
+* Adapter Manager Implementation 2.1.6 (12th)
+* Jackrabbit UserManager Support 2.2.4 (12th)
+* Simple WebDAV Access to repositories 2.3.2 (12th)
+* OSGi LogService Implementation 1.0.6 (12th)
+* Engine Implementation 2.4.4 (12th)
+* JSON Library 2.0.12 (12th)
+* Testing OSGi Mock 1.6.0 (9th)
+* Sling Mock 1.6.0 (9th)
+* Sling Mock Jackrabbit 1.0.0 (9th)
+* Sling Mock Oak 1.0.0 (9th)
+* Eclipse IDE 1.0.8 (8th)
+* Servlets Resolver 2.3.8 (5th)
+* Parent POM 25 (5th)
+
+## September 2015
+
+* Discovery Impl 1.1.8 (30th)
+* Distributed Event Admin 1.0.4 (30th)
+* JUnit Core 1.0.12 (28th)
+* JUnit Tests Teleporter 1.0.2 (28th)
+* NoSQL Generic Resource Provider 1.0.0 (21th)
+* NoSQL Couchbase Client 1.0.0 (21th)
+* NoSQL Couchbase Resource Provider 1.0.0 (21th)
+* NoSQL MongoDB Resource Provider 1.0.0 (21th)
+* Testing ResourceResolver Mock 1.1.10 (15th)
+* Rewriter 1.1.0 (15th)
+* Models API 1.2.2 (15th)
+* Models Impl 1.2.2 (15th)
+* Testing Sling Mock 1.5.0 (10th)
+* JCR Mock 1.1.10 (10th)
+* Scripting Sightly JS Use Provider 1.0.10 (7th)
+* Scripting Sightly Engine 1.0.4 (7th)
+* Scripting JavaScript 2.0.24 (7th)
+* Slingstart Maven Plugin 1.3.6 (7th)
+* Launchpad Base 5.2.0-2.6.4 (6th)
+* Security 1.0.16 (4th)
+
+## August 2015
+
+* JCR Resource 2.5.6 (31st)
+* Slingstart Maven Plugin 1.3.4 (31st)
+* Security 1.0.14 (31st)
+* Security 1.0.12 (25th)
+* Testing OSGi Mock 1.5.0 (24th)
+* ResourceResolver Mock 1.1.8 (24th)
+* Web Console Security Provider 1.1.6 (21st)
+* Slingstart Maven Plugin 1.3.2 (20th)
+* JCR API 2.3.0 (17th)
+* JCR Base 2.3.0 (17th)
+* JCR Jackrabbit Server 2.3.0 (17th)
+* JCR Davex 1.3.0 (17th)
+* JCR Webdav 2.3.0 (17th)
+* Commons Scheduler 2.4.10 (14th)
+* i18n 2.4.4 (13th)
+* Scripting Core 2.0.34 (13th)
+* Scripting JavaScript 2.0.22 (13th)
+* Scripting Sightly JS Use Provider 1.0.8 (13th)
+* Commons Log 4.0.6 (11th)
+* Slingstart Maven Plugin 1.3.0 (7th)
+* Provisioning Model 1.3.0 (7th)
+* XSS Protection Bundle 1.0.4 (3rd)
+
+## July 2015
+
+* Scripting Core 2.0.32 (26th)
+* Event 3.7.4 (24th)
+* Distributed Event Admin 1.0.2 (24th)
+* Scripting API 2.1.8 (21st)
+* Scripting Core 2.0.30 (21st)
+* Scripting JavaScript 2.0.20 (21st)
+* Scripting Sightly JS Use Provider 1.0.6 (21st)
+* Resource Merger 1.2.10 (21st)
+* JCR Resource 2.5.4 (17th)
+* Servlets GET 2.1.12 (17th)
+* Event 3.7.2 (13th)
+* Authentication Service 1.3.10 (13th)
+* Scripting Thymeleaf 0.0.6 (10th)
+* Content Detection Support 1.0.2 (9th)
+* Parent POM 24 (6th)
+* Authentication Service 1.3.8 (6th)
+* Scripting JavaScript Support 2.0.18 (2nd)
+* Feature Flags 1.0.2 (1st)
+
+## June 2015
+
+* Event 3.7.0 (30th)
+* Models API 1.2.0 (27th)
+* Models Impl 1.2.0 (27th)
+* Testing Sling Mock 1.4.0 (27th)
+* OSGi Mock 1.4.0 (27th)
+* JCR Mock 1.1.8 (27th)
+* JCR Resource Resolver 2.5.2 (26th)
+* Parent 23 (25th)
+* Log Tracer 1.0.2 (22th)
+* Commons FileSystem ClassLoader 1.0.2 (19th)
+* Default POST Servlets 2.3.8 (15th)
+* Provisioning Model 1.2.0
+* Installer Core 3.6.6 (13th) (13th)
+* Commons Scheduler 2.4.8 (13th)
+* Slingstart Maven Plugin 1.2.0 (13th)
+* Background Servlets Engine 1.0.0 (2nd)
+
+## May 2015
+
+* Testing Sling Mock 1.3.0 (26th)
+* OSGi Mock 1.3.0 (26th)
+* JCR Mock 1.1.6 (26th)
+* ResourceResolver Mock 1.1.6 (26th)
+* Logging Mock 1.0.0 (26th)
+* Commons OSGi 2.3.0 (26th)
+* Installer Core 3.6.4 (2nd)
+
+## April 2015
+
+* Health Check Core 1.2.2 (30th)
+* Launchpad Base 5.0.0-2.6.0 (30th)
+* Discovery Impl 1.1.2 (28th)
+* Testing Tools 1.0.10 (24th)
+* i18n 2.4.2 (23rd)
+* Slingstart Maven Plugin 1.1.0 (23rd)
+* Scripting JavaScript Support 2.0.16 (20th)
+* Engine Implementation 2.4.2 (20th)
+* File Installer 1.1.0 (20th)
+* Resource Inventory 1.0.4 (20th)
+* Scripting Sightly JS Provider 1.0.4 (16th)
+* Scripting Sightly Testing Content 1.0.4 (16th)
+* Scripting Sightly Testing 1.0.4 (16th)
+* JCR Installer 3.1.16 (13th)
+* Commons Testing 2.0.18 (13th)
+* Security 1.0.10 (April 8th)
+* Scripting Sightly 1.0.2 (7th)
+* Scripting Sightly Testing Content 1.0.2 (7th)
+* Scripting Sightly Testing 1.0.2 (7th)
+* Event 3.6.0 (7th)
+* Commons Log 4.0.2 (7th)
+* Commons Log Service 1.0.4 (7th)
+* Performance Test Utilities 1.0.2 (2nd)
+
+## March 2015
+
+* Scripting Sightly 1.0.0 (30th)
+* Scripting Sightly JavaScript Use Provider 1.0.0 (30th)
+* Scripting Sightly REPL 1.0.0 (30th)
+* Scripting Sightly Testing Content 1.0.0 (30th)
+* XSS Protection Bundle 1.0.2 (30th)
+* Resource Resolver 1.2.4 (24th)
+* XSS Protection Bundle 1.0.0 (20th)
+* JCR Installer 3.1.14 (16th)
+* Resource Resolver 1.2.2 (16th)
+* Service User Mapper 1.2.0 (16th)
+* Launchpad Base 4.6.1-2.5.8 (12th)
+* Event 3.5.4 (12th)
+* Settings 1.3.6 (12th)
+* Resource Merger 1.2.8 (12th)
+* Slingstart Maven Plugin 1.0.4 (12th)
+* Provisioning Model 1.1.0 (12th)
+* Query 3.0.0 (11th)
+* JCR Resource 2.5.0 (5th)
+* Resource Resolver 1.2.0 (5th)
+* Commons Scheduler 2.4.6 (4th)
+* IDE Tooling 1.0.6 (2nd)
+* Service User Mapper 1.1.0 (2nd)
+* Health Check Core 1.2.0 (2nd)
+* Health Check Web Console 1.1.2 (2nd)
+
+## February 2015
+
+* URL Rewriter 0.0.2 (27th)
+* Security 1.0.8 (26th)
+* Testing Sling Mock 1.2.0 (26th)
+* OSGi Mock 1.2.0 (26th)
+* JCR Mock 1.1.4 (26th)
+* ResourceResolver Mock 1.1.4 (26th)
+* API 2.9.0 (February 24th)
+* Tooling Support Install 1.0.2 (23rd)
+* Engine Implementation 2.4.0 (19th)
+* Auth Core 1.3.6 (16th)
+* Resource Resolver 1.1.14 (16th)
+* Eventing 3.5.2 (16th)
+* Resource Merger 1.2.6 (16th)
+* Installer Factory Configuration 1.1.2 (16th)
+* Resource Resolver 1.1.12 (2nd)
+
+## January 2015
+
+* Testing JCR Mock 1.1.2 (28th)
+* ResourceResolver Mock 1.1.2 (28th)
+* Sling Mock 1.1.2 (28th)
+* Sling Mock Jackrabbit 0.1.2 (28th)
+* JCR Resource 2.4.4 (26th)
+* Launchpad Base 4.6.0-2.5.6 (26th)
+* JCR Resource 2.4.2 (23rd)
+* Resource Resolver 1.1.10  (19th)
+* DataSource 1.0.0 (19th)
+* Launchpad Base 4.6.0-2.5.4 (19th)
+* Commons JSON 2.0.10 (17th)
+* Installer Core 3.6.2 (16th)
+* i18n 2.3.2 (16th)
+* JCR Resource Security 1.0.2 (13th)
+* Installer Core 3.6.0 (12th)
+* Installer Factory Configuration 1.1.0 (12th)
+* Launchpad Installer 1.2.2 (12th)
+* Eventing 3.5.0 (10th)
+* JCR Resource Security 1.0.0 (9th)
+* Installer Factory Subsystems 1.0.0 (9th)
+
+## December 2014
+
+* Release JUnit Core 1.0.10 (15th)
+* JUnit Scriptable Tests Provider 1.0.10 (15th)
+* JUnit Remote Tests Runners 1.0.10 (15th)
+* Testing Sling Mock 1.1.0 (15th)
+* OSGi Mock 1.1.0 (15th)
+* JCR Mock 1.1.0 (15th)
+* ResourceResolver Mock 1.1.0 (15th)
+* Adapter Manager 2.1.4 (15th)
+* Auth Core 1.3.4 (2nd)
+
+## November 2014
+
+* Resource Merger 1.2.0 (29th)
+* Resource Resolver 1.1.8 (27th)
+* Servlets Resolver 2.3.6 (18th)
+* Engine 2.3.10 (18th)
+* Servlets Resolver 2.3.4 (14th)
+* Eventing 3.4.4 (7th)
+* Scripting JSP 2.1.6 (6th)
+* Slingstart Maven Plugin 1.0.2 (5th)
+* Event 3.4.2 (1st)
+
+## October 2014
+
+* Engine 2.3.8 (27th)
+* Provisioning Model 1.0.0 (27th)
+* Slingstart Maven Plugin 1.0.0 (27th)
+* JCR Resource Resolver 2.3.12 (26th)
+* Eventing 3.4.0 (24th)
+* Distributed Event Admin 1.0.0 (24th)
+* JCR Resource Resolver 2.3.10 (22nd)
+* Auth Core 1.3.2 (21st)
+* Resource Resolver Mock 1.0.0 (21st)
+* JCR Mock 1.0.0 (21st)
+* OSGi Mock 1.0.0 (21st)
+* Sling Mock 1.0.0 (21st)
+* Sling Mock Jackrabbit 0.1.0 (21st)
+* IDE Tooling 1.0.4 (18th)
+* Settings 1.3.4 (10th)
+* Discovery API 1.0.2 (10th)
+* Discovery Impl 1.0.12 (10th)
+* Resource Resolver 1.1.6 (4th)
+* Superimposing Resource Provider 0.2.0 (3rd)
+* Sling 7 (3rd)
+
+## September 2014
+
+* Scripting Java 2.0.12 (30th)
+* Resource Resolver Mock 0.3.0 (29th)
+* Resource Resolver 1.1.4 (26th)
+* JSP Taglib 2.2.4 (25th)
+* DavEx Access to repositories 1.2.2 (22nd)
+* Adapter Manager Implementation 2.1.2 (22nd)
+* Scripting Core implementation 2.0.28 (22nd)
+* JCR ContentLoader 2.1.0 (21st)
+* Web Console Security Provider 1.1.4 (21st)
+* Resource Access Security 1.0.0 (20th)
+* Auth Core 1.3.0 (20th)
+* Engine 2.3.6 (19th)
+* JCR ClassLoader 3.2.2 (19th)
+* JCR Jackrabbit Access Manager 2.1.2 (19th)
+* JCR Jackrabbit Server 2.2.0 (19th)
+* JCR Jackrabbit User Manager 2.2.2 (19th)
+* JCR Registration 1.0.2 (19th)
+* JCR Web Console 1.0.2 (19th)
+* Scripting Thymeleaf 0.0.4 (17th)
+* Resource Resolver 1.1.2 (16th)
+* Maven Launchpad Plugin 2.3.2 (15th)
+* Filesystem Resource Provider 1.1.4 (12th)
+* Launchpad Content 2.0.8 (12th)
+* JSP Tag Library 2.2.2 (12th)
+* Scripting Groovy Support 1.0.0 (12th)
+* Auth Core 1.2.0 (8th)
+* Models API 1.1.0 (5th)
+* Models Impl 1.1.0 (5th)
+* Health Check Annotations 1.0.2 (5th)
+* Health Check Core 1.1.2 (5th)
+* Health Check JUnit Bridge 1.0.2 (5th)
+* Health Check Samples 1.0.6 (5th)
+* Default GET Servlets 2.1.10 (1st)
+* Explorer 1.0.4 (1st)
+
+## August 2014
+
+* API 2.8.0 (31st)
+* JCR Resource 2.3.8 (31st)
+* i18n 2.2.10 (31st)
+* Installer Core 3.5.4 (31st)
+* JCR Installer 3.1.8 (31st)
+* File Installer 1.0.4 (31st)
+* JSON Library 2.0.8 (28th)
+* Default POST Servlets 2.3.6 (28th)
+* Eventing 3.3.14 (25th)
+* Commons Mime 2.1.8 (25th)
+* Commons Scheduler 2.4.4 (25th)
+* Commons Mime 2.1.6 (19th)
+* Commons OSGi 2.2.2 (19th)
+* Tenant 1.0.2 (18th)
+* Query 2.0.0 (11th)
+* Auth Core 1.1.8 (11th)
+* Auth Selector 1.0.6 (11th)
+* Form Based Authentication 1.0.6 (11th)
+* OpenID Authentication 1.0.4 (11th)
+* Eventing 3.3.12 (8st)
+* Parent 20 (1st)
+
+## July 2014
+
+* Discovery Impl 1.0.10 (29th)
+* Engine 2.3.4 (26th)
+* Launchpad Base 4.4.1-2.5.2 (26th)
+* Testing Tools 1.0.8 (22nd)
+* Compat Servlets 1.0.2 (14th)
+* Service User Mapper 1.0.4 (14th)
+* Settings 1.3.2 (26th)
+* Scripting JSP 2.1.4 (26th)
+* Scripting Java 2.0.10 (13th)
+* Authentication XING API 0.0.2 (11th)
+* Authentication XING Login 0.0.2 (11th)
+* Authentication XING OAuth 0.0.2 (11th)
+* Scripting Thymeleaf 0.0.2 (11th)
+* Models API 1.0.2 (2nd)
+* Models Impl 1.0.6 (2nd)
+* Installer Core 3.5.2 (2nd)
+* Installer Configuration Factory 1.0.14 (2nd)
+* Eclipse IDE 1.0.0 (1st)
+
+## June 2014
+
+* Scripting JavaScript Support 2.0.14 (23rd)
+* SLF4J MDC Filter 1.0.0 (9th)
+* Classloader Leak Detector 1.0.0 (9th)
+* Bundle JCR Install Archetype 1.0.2 (4th)
+* Tooling Support Install 1.0.0 (4th)
+* Bundle Archetype 1.0.2 (4th)
+* Servlet Archetype 1.0.2 (4th)
+* Service User Mapper 1.0.2 (2nd)
+
+## May 2014
+
+* JCR ContentLoader 2.1.8 (23th)
+* Commons Compiler 2.2.0 (20th)
+* Scripting JSP 2.1.0 (20th)
+* Archetype Parent 1 (14th)
+* Models Impl 1.0.4 (7th)
+
+## April 2014
+
+* Discovery Impl 1.0.8 (30th)
+* Resource Inventory 1.0.2 (30th)
+* Eventing 3.3.10 (30th)
+* Commons ClassLoader 1.3.2 (17th)
+* Resource Resolver 1.1.0 (4th)
+* Featureflags 1.0.0 (4th)
+* Resource-Based Discovery Service (discovery.impl) 1.0.6 (4th)
+
+## March 2014
+
+* Servlets Resolver 2.3.2 (31st)
+* Servlets Get 2.1.8 (31st)
+* Installer Configuration Factory 1.0.12 (31st)
+* Parent POM 19 (31st)
+* API 2.7.0 (24th)
+* JCR Resource 2.3.6 (24th)
+* JMX Resource Provider 1.0.2 (24th)
+* Resource Merger 1.1.2 (24th)
+* Model Implementation 1.0.2 (18th)
+* JCR Resource 2.3.4 (17th)
+* Engine 2.3.2 (16th)
+* i18n 2.2.8 (8th)
+* JCR Resource 2.3.2 (8th)
+* Discovery Impl 1.0.4 (8th)
+* JCR Webdav 2.2.2 (8th)
+* Resource Collection 1.0.0 (8th)
+* Resource Inventory 1.0.0 (8th)
+* JMX Provider 1.0.0 (8th)
+* Resource Merger 1.1.0 (8th)
+* Commons Log 4.0.0 (7th)
+* Security 1.0.0 (7th)
+* JCR Registration 1.0.0 (7th)
+* Bundle Resource 2.2.20 (7th)
+* JCR Base 2.2.2 (7th)
+* Eventing 3.3.6 (7th)
+* Scripting API 2.1.6 (7th)
+* Scripting Core 2.0.26 (7th)
+* Servlets Get 2.1.6 (7th)
+* Servlets Post 2.3.4 (7th)
+* Maven Launchpad Plugin 2.3.0 (6th)
+* API 2.6.0 (3rd)
+* Engine 2.3.0 (3rd)
+
+## February 2014
+
+* Servlets Resolver 2.3.0 (24th)
+* Resource Merger 1.0.0 (24th)
+* JCR API 2.2.0 (17th)
+* JCR Base 2.2.0 (17th)
+* JCR Resource 2.3.0 (17th)
+* Service User Mapper 1.0.0 (6th)
+* Resource Resolver Mock 0.2.0 (6th)
+
+## January 2014
+
+* Health Check Core 1.1.0 (31th)
+* Health Check Webconsole 1.1.0 (31th)
+* Auth Core 1.1.6 (31th)
+* Pax Exam Utilities 1.0.2 (28th)
+* API 2.5.0 (24th)
+* Eventing 3.3.4 (24th)
+* Installer Core 3.5.0 (19th)
+* Eventing 3.3.2 (19th)
+
+## December 2013
+
+* Web Console Security Provider 1.1.2 (17th)
+* Maven JSPC Plugin 2.0.8 (14th)
+* Resource-Based Discovery Service 1.0.2 (3rd)
+
+## November 2013
+
+* Testing Utilities 2.0.16 (November 27th)
+
+## October 2013
+
+* Web Console Security Provider 1.1.0 (28th)
+* Event 3.3.0 (24th)
+* Commons Scheduler 2.4.2 (24th)
+* Commons Threads 3.2.0 (24th)
+* Health Check Core 1.0.6 (24th)
+* Health Check JMX 1.0.6 (24th)
+* JMX Resource Provider 0.6.0 (24th)
+* Engine 2.2.10 (October 12th)
+* Auth Core 1.1.4 (7th)
+* Commons Scheduler 2.4.0 (7th)
+* Resource Inventory 0.5.0 (7th)
+* JMX Resource Provider 0.5.0 (7th)
+
+## September 2013
+
+* org.apache.sling.hc.core-1.0.4 (30th)
+* org.apache.sling.hc.it-1.0.4 (30th)
+* org.apache.sling.hc.jmx-1.0.4 (30th)
+* org.apache.sling.hc.samples-1.0.4 (30th)
+* org.apache.sling.hc.support-1.0.4 (30th)
+* org.apache.sling.hc.webconsole-1.0.4 (30th)
+* org.apache.sling.junit.healthcheck-1.0.6 (30th)
+* Commons Log 3.0.2 (12th)
+
+## August 2013
+
+* Discovery Impl 1.0.0 (12th)
+* Discovery Standalone 1.0.0 (12th)
+* Discovery Support 1.0.0 (12th)
+* Settings 1.3.0 (12th)
+* Event 3.2.0 (12th)
+* JCR Jackrabbit Server 2.1.2 (8th)
+* Scripting JSP Taglib 2.2.0 (8th)
+
+## July 2013
+
+* JCR DavEx 1.2.0 (31st)
+* JCR Webdav 2.2.0 (31st)
+* Servlets Post 2.3.2 (18th)
+* I18n 2.2.6 (18th)
+* Commons FileSystem ClassLoader 1.0.0 (18th)
+* JCR ClassLoader 3.2.0 (18th)
+* Parent POM 17 (18th)
+
+## May 2013
+
+* Form Based Authentication Handler 1.0.4 (27th)
+* Scripting JSP 2.0.28 (16th)
+* Servlets Post 2.3.0 (10th)
+* JCR Resource 2.2.8 (10th)
+* API 2.4.2 (3rd)
+* Parent POM 16 (3rd)
+
+## April 2013
+
+* Tenant 1.0.0 (26th)
+* Security 1.0.4 (26th)
+* javax.activation 0.1.0 (26th)
+* API 2.4.0 (18th)
+* Bundle Resource Provider 2.1.2 (18th)
+* File System Resource Provider 1.1.2 (18th)
+* JCR Resource 2.2.6 (18th)
+* Resource Resolver 1.0.6 (18th)
+* Servlets Resolver 2.2.4 (18th)
+* Engine 2.2.8 (18th)
+* Auth Core 1.1.2 (18th)
+
+## March 2013
+
+* Launchpad Base 2.5.0 (4th)
+* Script Console 1.0.0 (4th)
+
+## February 2013
+
+* JCR Classloader 3.1.2 (18th)
+* Commons Testing 2.0.14 (18th)
+* JUnit Core 1.0.8 (18th)
+* JUnit Remote 1.0.8 (18th)
+* JUnit Scriptable 1.0.8 (18th)
+* Testing Tools 1.0.6 (18th)
+* Installer Core 3.4.6 (18th)
+* Installer Configuration Factory 1.0.10 (18th)
+* JCR Instaler 3.1.6 (18th)
+* Parent POM 15 (18th)
+* Fragment Extension XML 1.0.2 (18th)
+* Fragment Extension WS 1.0.2 (18th)
+* Fragment Extension Activation 1.0.2  (18th)
+* Resource Resolver 1.0.4 (14th )
+* JCR Resource 2.2.4 (14th)
+
+## December 2012
+
+* Installer Core 3.4.4 (20th)
+* JCR Resource 2.2.2 (20th)
+* Resource Resolver 1.0.2 (20th)
+* Security 1.0.2 (20th)
+* Parent POM 14 (20th)
+* Servlet Resolver 2.2.2 (10th)
+
+## November 2012
+
+* Settings 1.2.2 (30th)
+* Auth Core 1.1.0 (30th)
+* Commons Logservice 1.0.2 (30th)
+* Installer Core 3.4.2 (30th)
+* Scripting JSP 2.0.26 (30th)
+* Commons Compiler 2.1.0 (30th)
+* JCR Compiler 2.1.0 (30th)
+* I18n 2.2.4 (30th)
+* JCR Classloader 3.1.10 (30th)
+* JCR Webdav 2.1.2 (30th)
+* JCR Davex 1.1.0 (30th)
+* Maven Launchpad Plugin 2.2.0 (19th)
+* Commons OSGi 2.2.0 (19th)
+* Launchpad Installer 1.2.0 (19th)
+* Rewriter 1.0.4 (19th)
+* Settings 1.2.0 (19th)
+* API 2.3.0 (15th)
+* Bundle Resource Provider 2.1.0 (15th)
+* File System Resource Provider 1.1.0 (15th)
+* JCR Resource 2.2.0 (15th)
+* Resource Resolver 1.0.0 (15th)
+* Servlets Get 2.1.4 (15th)
+* Servlets Post 2.2.0 (15th)
+* Servlets Resolver 2.2.0 (15th)
+* Adapter 2.1.0 (15th)
+* Commons Testing 2.0.12 (15th)
+
+## October 2012
+
+* JSP Taglib 2.1.8 (29th)
+* Installer Core 3.4.0 (29th)
+* Installer API 1.0.0 (29th)
+* Installer Console 1.0.0 (29th)
+* JCR Wrapper 2.0.0 (29th)
+
+## August 2012
+
+* Installer Core 3.3.8 (19th)
+* Launchpad Installer 1.1.4 (19th)
+* Maven Launchpad Plugin 2.1.2 (19th)
+* Scripting JST 2.0.6 (17th)
+
+## July 2012
+
+* Adapter 2.0.16 (9th)
+* JCR ContentLoader 2.1.6 (9th)
+* Parent POM 13 (9th)
+
+## June 2012
+* Commons Compiler 2.0.6 (28th)
+* Adapter 2.0.14 (28th)
+* JCR ClassLoader 3.1.8 (28th)
+* JCR Compiler 2.0.4 (28th)
+* Scripting Core 2.0.24 (28th)
+* Scripting Java 2.0.4 (28th)
+* Scripting JSP 2.0.24 (28th)
+* POST Servlets 2.1.2 (28th)
+
+## May 2012
+
+* Installer Factory Configuration 1.0.8 (26th)
+* Engine 2.2.6 (26th)
+* i18n 2.2.2 (26th)
+* Scripting Core 2.0.22 (26th)
+* Commons ClassLoader 1.3.0 (18th)
+* Commons Compiler 2.0.4 (18th)
+* Eventing 3.1.4 (18th)
+* Installer Core 3.3.6 (18th)
+* JCR Installer 3.1.4 (18th)
+* JCR ClassLoader 3.1.6 (18th)
+* JCR Resource 2.1.0 (18th)
+* Launchpad Installer 1.1.2 (18th)
+* Scripting Java 2.0.4 (18th)
+* Scripting JSP 2.0.22 (18th)
+
+## February 2012
+
+* Commons Testing 2.0.10 (7th)
+* Commons Scheduler 2.3.4 (7th)
+* Commons Log 3.0.0 (7th)
+* Commons Log Service 1.0.0 (7th)
+* Adapter 2.0.12 (7th)
+* Installer Core 3.3.4 (7th)
+* Launchpad API 1.1.0 (7th)
+* Launchpad Installer 1.1.0 (7th)
+* Maven JSPC Plugin 2.0.6 (7th)
+
+## January 2012
+
+* API 2.2.4 (30th)
+* Adapter 2.0.10 (30th)
+* Scripting JSP Taglib 2.1.6 (30th)
+* Rewriter 1.0.2 (30th)
+* JCR ContentLoader 2.1.4 (30th)
+* JCR Base 2.1.2 (30th)
+* Servlet Resolver 2.1.2 (30th)
+* Security 1.0.0 (30th)
+* Scripting API 2.1.4 (16th)
+* Scripting Core 2.0.20 (16th)
+* i18n 2.2.0 (16th)
+* Installer Core 3.3.2 (16th)
+* Scripting Java 2.0.2 (16th)
+* Scripting JSP 2.0.20 (16th)
+* Adapter Annotations 1.0.0 (14th)
+* Maven Sling Plugin 2.1.0 (14th)
+* Settings 1.1.0 (6th)
+* Commons ClassLoader 1.2.4 (6th)
+* Commons Scheduler 2.3.2 (6th)
+* Installer Core 3.3.0 (6th)
+* Installer Configuration Factory 1.0.4 (6th)
+* Launchpad Installer 1.0.6 (6th)
+* JCR Installer 3.1.2 (6th)
+* Thread Dumper 0.2.2 (6th)
+
+## November 2011
+
+* Jackrabbit User Manager 2.2.0 (15th)
+
+## October 2011
+
+* Maven Sling Plugin 2.0.6 (21st)
+
+## September 2011
+
+* Maven Launchpad Plugin 2.1.0 (9th)
+
+## August 2011
+
+* Resource Bundle 1.0.0 (16th)
+* Parent POM 12 (16th)
+* API 2.2.2 (16th)
+* Commons Scheduler 2.3.0 (16th)
+* Commons OSGi 2.1.0 (16th)
+* Scripting Core 2.0.18 (16th)
+* Installer Core 3.2.2 (16th)
+* Installer Configuration Factory 1.0.2 (16th)
+* Launchpad Installer 1.0.4 (16th)
+* File Installer 1.0.2 (16th)
+* Scripting JSP Support 2.0.18 (15th)
+* Parent POM 11 (8th)
+
+## July 2011
+
+* Internationalization 2.1.2 (15th)
+* Event 3.1.0 (13th)
+* OSGi Installer 3.2.0 (13th)
+* JCR Installer 3.1.0 (13th)
+* Installer Configuration Factory 1.0.0 (13th)
+* Launchpad Installer 1.0.2 (13th)
+
+## June 2011
+
+* Engine 2.2.4 (22nd)
+
+## May 2011
+
+* Launchpad Standalone Archetype 1.0.0 (13th)
+* Launchpad Webapp Archetype 1.0.0 (13th)
+* Scripting JSP Support 2.0.16(3rd)
+* JSP Taglib 2.1.2 (3rd)
+
+## April 2011
+
+* Test Tools 1.0.2 (26th)
+* JUnit Core 1.0.6 (26th)
+* JUnit Remote Tests Runners 1.0.6 (26th)
+* JUnit Scriptable Tests Provider 1.0.6 (26th)
+* Sample Integration Tests 1.0.6 (26th)
+* Sample Server-Side Tests 1.0.6 (26th)
+* Failing Server-Side Tests 1.0.6 (26th)
+* I18N 2.1.0 (12th)
+
+## March 2011
+
+* Sling 6 (28th)
+* Launchpad Content 2.0.6 (28th)
+* Launchpad Integration Tests 1.0.0 (04th)
+* Launchpad Testing Services 2.0.8 (04th)
+* Launchpad Testing Services WAR 2.0.8 (04th)
+
+## February 2011
+
+* Javascript 2.0.12 (26th)
+* Explorer 1.0.2 (24th)
+* JCR Resource 2.0.10 (24th)
+* Engine 2.2.2 (24th)
+* Installer IT Testing 3.1.2 (24th)
+* Launchpad API 1.0.0 (20th)
+* Launchpad Installer 1.0.0 (20th)
+* Launchpad Base 2.3.0 (20th)
+* Maven Launchpad Plugin 2.0.10 (20th)
+* Commons Testing 2.0.8 (20th)
+* Servlets Get 2.1.2 (18th)
+* Installer Core 3.1.2 (4th)
+* JCR Installer 3.0.4 (4th)
+* Event 3.0.2 (4th)
+
+## January 2011
+
+* Scripting Core 2.0.16 (29th)
+* JCR Resource 2.0.8 (28th)
+* Engine 2.2.0 (28th)
+* Bundle Resource Provider 2.0.6 (28th)
+* File Resource Provider 1.0.2 (28th)
+* Auth Core 1.0.6 (28th)
+* Auth Selector 1.0.4 (28th)
+* Commons Compiler 2.0.2 (21st)
+* JCR Compiler 2.0.2 (21st)
+* Commons Log 2.1.2 (21st)
+* Event 3.0.0 (21st)
+* Scripting JSP 2.0.14 (21st)
+* Installer Core 3.1.0 (21st)
+* JCR Installer 3.0.2 (21st)
+
+## December 2010
+
+* Maven Launchpad Plugin 2.0.8 (20th)
+* Commons Compiler 2.0.0 (20th)
+* i18n 2.0.4 (20th)
+* Commons Json 2.0.6 (20th)
+* Commons Log 2.1.0 (20th)
+* Scripting Java 2.0.0 (20th)
+* Scripting JST 2.0.4 (20th)
+* Scripting API 2.1.2 (20th)
+* Scripting JSP 2.0.12 (20th)
+* Scripting Javascript 2.0.10 (20th)
+* JCR Compiler 2.0.0 (20th)
+* Auth Core 1.0.4 (20th)
+* Auth Selector 1.0.2 (20th)
+* Auth Form 1.0.2 (20th)
+* Auth OpenId 1.0.2 (20th)
+* JCR ContentLoader 2.1.2 (20th)
+* API 2.20 (13th)
+* Adapter 2.0.8 (13th)
+* Commons ClassLoader 1.2.2 (13th)
+* JCR ClassLoader 3.1.4 (13th)
+* Parent POM 10 (13th)
+
+## November 2010
+
+* JCR Web Console Plugin 1.0.0 (16th)
+* JCR Access Manager 2.1.0
+* JCR User Manager 2.1.0 (8th) (8th)
+* JCR WebDAV support 2.1.0 (8th)
+* JCR DavEX support 1.0.0 (8th)
+* Explorer 1.0.0 (1st)
+
+## October 2010
+
+* Scripting Core 2.0.14 (25th)
+* Commons Threads 3.1.0 (15th)
+* Event 2.4.2 (15th)
+* I18N 2.0.2 (15th)
+* Rewriter 1.0.0 (15th)
+* Settings 1.0.2 (15th)
+
+## September 2010
+
+* Installer Core 3.0.0 (24th)
+* Installer File Provider 1.0.0 (24th)
+* Installer JCR Provider 3.0.0 (24th)
+* Commons Testing 2.0.6 (20th)
+* JCR API 2.1.0 (10th)
+* JCR Base 2.1.0 (10th)
+* JCR Content Loader 2.1.0 (10th)
+* Jackrabbit Server 2.1.0 (10th)
+* Commons Threads 3.0.2 (06th)
+* Event 2.4.0 (06th)
+
+## August 2010
+
+* Commons ClassLoader 1.2.0 (30th)
+* JCR ClassLoader 3.1.2 (30th)
+* Web Console Branding 1.0.0 (25th)
+* Web Console Security Provider 1.0.0 (25th)
+* API 2.1.0 (21st)
+
+## July 2010
+
+* GWT Integration 3.0.0 (30th)
+
+## April 2010
+
+* Commons OSGi 2.0.6 (27th)
+* Launchpad Base 2.2.0 (27th)
+* Maven Launchpad Plugin 2.0.6 (27th)
+
+## March 2010
+
+* Event 2.3.0 (1st)
+* Scripting Core 2.1.0 (1st)
+* Apache Commons MIME 2.1.4 (1st)
+* FileResource Provider 1.0.0 (1st)
+
+## February 2010
+
+* Sample Path Based Resource Type Provider 2.0.4 (22nd)
+* Event 2.2.0 (19th)
+* Scripting API 2.1.0 (19th)
+* Thread Dumper 0.2.0 (19th)
+* JCR WebDav 2.0.8 (17th)
+* JCR ContentLoader 2.0.6 (17th)
+* JCR UserManager 2.0.4 (17th)
+* JCR Server 2.0.6 (17th)
+* JCR AccessManager 2.0.4 (17th)
+* JCR Base 2.0.6 (17th)
+* Commons ClassLoader 1.1.4 (8th)
+* JCR ClassLoader 3.1.0 (8th)
+
+## January 2010
+
+* JCR API 2.0.6 (29th)
+
+## December 2009
+
+* Commons ClassLoader 1.1.2 (21st)
+* Commons Scheduler 2.2.0 (21st)
+* Commons Threads 3.0.0 (21st)
+* Event 2.1.0 (21st)
+* Servlets Get 2.0.8 (21st)
+* Commons Mime 2.1.2 (15th)
+* Commons HTML 1.0.0 (2nd)
+* Commons Compiler 1.0.0 (2nd)
+* JCR Compiler 1.0.0 (2nd)
+* JCR Prefs 1.0.0 (2nd)
+* Scripting Java 1.0.0 (2nd)
+
+## November 2009
+
+* Parent POM 8 (28th)
+* Launchpad Base 2.1.0 (28th)
+* Commons ClassLoader 1.1.0 (28th)
+* JCR ClassLoader 3.0.0 (28th)
+* Scripting Core 2.0.8 (28th)
+* Scripting JSP 2.0.8 (28th)
+* Scripting JSP Taglib 2.0.6 (28th)
+* Scripting JavaScript 2.0.6 (28th)
+
+## October 2009
+
+* Engine 2.0.6 (13th)
+* Adapter 2.0.4 (13th)
+* JCR Resource 2.0.6 (13th)
+* Commons ClassLoader 1.0.0 (13th)
+* Event 2.0.6 (13th)
+* JCR ClassLoader 2.0.6 (13th)
+* Scripting Core 2.0.6 (13th)
+* Servlets Resolver 2.0.8 (13th)
+* API 2.0.8 (2nd)
+* Commons HTML 0.9.0 (2nd)
+* Commons ClassLoader 0.9.0 (2nd)
+* Commons Scheduler 2.1.0 (2nd)
+* Servlets Get 2.0.6 (2nd)
+
+## August 2009
+
+* API 2.0.6 (17th)
+* JCR API 2.0.4 (17th)
+* Commons LogService 2.0.6 (5th)
+