diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..0ff430a
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,7 @@
+github:
+  description: "Apache Sling Website"
+  homepage: "https://sling.apache.org/"
+  labels:
+    - sling
+    - website
+    - jbake
diff --git a/.gitignore b/.gitignore
index f373eb5..3311f97 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,5 +6,6 @@
 .*
 !.gitignore
 !.sling-module.json
+!.asf.yaml
 .DS_Store
 *.iml
diff --git a/README.md b/README.md
index 1508876..71c68d3 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,16 @@
 
 Please use a `sling.` prefix for new site-related variables in `jbake.properties`, to differentiate from JBake built-in variables.
 
+## Front Matter
+A number of Markdown front matter variables are taken into account, here's an example:
+
+    title=Tutorials & How-Tos               
+    type=page
+    status=published
+    tags=tutorials,beginner
+    tableOfContents=false
+    ~~~~~~
+
 ## Syntax highlighting
 The site uses [highlight.js](https://highlightjs.org/) for that.
 
@@ -54,6 +64,8 @@
  * Tamaya - https://github.com/apache/incubator-tamaya-site
  * OpenNLP - https://github.com/apache/opennlp-site
  * Incubator - https://github.com/apache/incubator
+ 
+And [this query for the `jbake` topic](https://github.com/search?q=topic%3Ajbake+org%3Aapache&type=Repositories) might find others.
 
 ## JBake and other technotes
 * Currently using 2.6.5 via the `jbake-maven-plugin`, see under `/bin`, docs at http://jbake.org/docs/2.6.5
diff --git a/src/main/jbake/content/documentation/bundles.md b/src/main/jbake/content/documentation/bundles.md
index d0aabee..6e39640 100644
--- a/src/main/jbake/content/documentation/bundles.md
+++ b/src/main/jbake/content/documentation/bundles.md
@@ -62,7 +62,7 @@
 * [Junit Server-Side Tests Support](/documentation/bundles/org-apache-sling-junit-bundles.html)
 * [Sling Pipes](/documentation/bundles/sling-pipes.html)
 * [Sling Metrics](/documentation/bundles/metrics.html)
-* [Servlet Helpers](/documentation/bundles/servlet-helpers.html)
+* [Servlet Helpers and Internal Requests](/documentation/bundles/servlet-helpers.html)
 * [Context-Aware Configuration](/documentation/bundles/context-aware-configuration/context-aware-configuration.html)
 * [HApi - Hypermedia API tools](/documentation/bundles/hapi.html)
 * [Capabilities](https://github.com/apache/sling-org-apache-sling-capabilities)
@@ -74,6 +74,7 @@
 * [XML Support](/documentation/bundles/xml-support.html)
 * [Sling Resource Editor](/documentation/bundles/resource-editor.html)
 * [Sling Dynamic Include (org.apache.sling.dynamic-include)](/documentation/bundles/dynamic-includes.html)
+* [GraphQL Core and Samples](/documentation/bundles/graphql-core.html)
 
 ## Troubleshooting
 * [Request Processing Analyzer (org.apache.sling.reqanalyzer)](/documentation/bundles/request-analysis.html)
diff --git a/src/main/jbake/content/documentation/bundles/content-distribution.md b/src/main/jbake/content/documentation/bundles/content-distribution.md
index 75551ee..90066d6 100644
--- a/src/main/jbake/content/documentation/bundles/content-distribution.md
+++ b/src/main/jbake/content/documentation/bundles/content-distribution.md
@@ -45,6 +45,18 @@
 
     $ curl -v -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/publish -d 'action=ADD' -d 'path=/content/sample1'
 
+#### Events
+
+The following OSGi [events|https://github.com/apache/sling-org-apache-sling-distribution-api/blob/master/src/main/java/org/apache/sling/distribution/event] will be raised during the forward distribution process.
+
+| Event                                                     | Instance |
+| --------------------------------------------------------- | -------- |
+| `org/apache/sling/distribution/agent/package/created`     | source   |
+| `org/apache/sling/distribution/agent/package/queued`      | source   |
+| `org/apache/sling/distribution/agent/package/distributed` | source   |
+| `org/apache/sling/distribution/agent/package/dropped`     | source   |
+| `org/apache/sling/distribution/importer/package/imported`    | target   |
+
 ### Reverse distribution
 
 A reverse distribution setup allows one to transfer content from a farm of source instances to a target instance. That is done by pulling the content from source instances into the target instance.
@@ -65,15 +77,15 @@
             packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse"]
 
 * on source instance: one queue agent and one exporter for that agent
-            
+
         org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json            
             name="reverse"
-            
+
         org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
             name="reverse"
             agent.target="(name=reverse)"
-            
-            
+
+
 #### Trigger reverse distribution
 
 Reverse distribution can be triggered by sending a `POST` HTTP request to the agent resource on the target instance with the parameter `action=PULL`.
@@ -105,19 +117,19 @@
 
 
 * on each farm instance: one local exporter and one local importer
-            
+
         org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json            
             name="reverse"
-            
+
         org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
             name="reverse"
             agent.target="(name=reverse)"
-          
+
         org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
             name="reverse"
             agent.target="(name=reverse)"
 
-            
+
 
 
 ### Multidatacenter sync distribution
@@ -145,17 +157,17 @@
             packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse", "http://localhost:4504/libs/sling/distribution/services/exporters/reverse"]
             packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
             passiveQueues=["dc2queue", "dc3queue"]
-            
+
         org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-dc2queue
             name="dc2queue"
             agent.target="(name=intradcsync)"
             queue="dc2queue"
-            
+
         org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-dc3queue
             name="dc3queue"
             agent.target="(name=intradcsync)"
             queue="dc3queue"
-            
+
         org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-interdcsync           
             name="interdcsync"
             packageExporter.endpoints=["http://localhost:5502/libs/sling/distribution/services/exporters/dc1queue", "http://localhost:6502/libs/sling/distribution/services/exporters/dc1queue"]
@@ -163,14 +175,14 @@
 
 
 * on each farm instance: one local exporter and one local importer
-            
+
         org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json            
             name="reverse"
-            
+
         org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
             name="reverse"
             agent.target="(name=reverse)"
-          
+
         org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
             name="default"
 
diff --git a/src/main/jbake/content/documentation/bundles/content-loading-jcr-contentloader.md b/src/main/jbake/content/documentation/bundles/content-loading-jcr-contentloader.md
index dc67019..aa59a23 100644
--- a/src/main/jbake/content/documentation/bundles/content-loading-jcr-contentloader.md
+++ b/src/main/jbake/content/documentation/bundles/content-loading-jcr-contentloader.md
@@ -4,7 +4,7 @@
 tags=contentloading,nodetypes
 ~~~~~~
 
-Apache Sling provides support for initial content loading into a repository and for registering node types. The `sling-jcr-contentloader` bundle provides loading of content from a bundle into the repository and the `sling-jcr-base` bundle provides node type registration.
+Apache Sling provides support for initial content loading into a repository and for registering node types. The `sling-jcr-contentloader` bundle provides loading of content from a bundle into the repository and the `sling-jcr-base` bundle provides node type registration. See [Content-Package based development](/documentation/development/content-packages.html) for an alternative for deploying content to the repository.
 
 ## Initial Content Loading
 
diff --git a/src/main/jbake/content/documentation/bundles/content-package-installer-factory.md b/src/main/jbake/content/documentation/bundles/content-package-installer-factory.md
index 91f6ea8..6371370 100644
--- a/src/main/jbake/content/documentation/bundles/content-package-installer-factory.md
+++ b/src/main/jbake/content/documentation/bundles/content-package-installer-factory.md
@@ -1,7 +1,7 @@
 title=Content Package Installer Factory		
 type=page
 status=published
-tags=installer
+tags=installer,contentloading
 ~~~~~~
 
 The content package installer factory provides support for [Jackrabbit FileVault Content Packages](https://jackrabbit.apache.org/filevault/index.html) to the [OSGI installer](/documentation/bundles/osgi-installer.html). The provisioning of artifacts is handled by installer providers like the [file installer](/documentation/bundles/file-installer-provider.html) or the [JCR installer](/documentation/bundles/jcr-installer-provider.html).
@@ -10,6 +10,29 @@
 
 Content Packages must be provided with extension `.zip`. They will be automatically installed/uninstalled via the [JcrPackageManager API](https://jackrabbit.apache.org/filevault/apidocs/org/apache/jackrabbit/vault/packaging/JcrPackageManager.html). The (un-)installation behaviour can be further tweaked via the OSGi configuration provided for PID `org.apache.sling.installer.factory.packages.impl.PackageTransformer`
 
+## Configuration
+
+As of version 1.0.4 the bundle requires a service user mapping to function correctly. An example mapping, using the provisioning model is
+
+
+    org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-installer-factories
+      user.mapping=[
+        "org.apache.sling.installer.factory.packages\=sling-package-install"
+      ]
+
+
+The service user requires needs access to all locations which are covered by packages and to `/etc/packages` itself.
+
+A sample user configuration using repoinit is
+
+
+    create service user sling-package-install
+
+    set ACL for sling-package-install
+        allow  jcr:all     on  /
+        allow  jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository
+    end
+
 
 # Project Info
 
diff --git a/src/main/jbake/content/documentation/bundles/graphql-core.md b/src/main/jbake/content/documentation/bundles/graphql-core.md
new file mode 100644
index 0000000..9bd9bef
--- /dev/null
+++ b/src/main/jbake/content/documentation/bundles/graphql-core.md
@@ -0,0 +1,17 @@
+title=Sling GraphQL Core and Samples
+type=page
+status=published
+tags=graphql,content,query
+tableOfContents=false
+~~~~~~
+
+The [Sling GraphQL Core](https://github.com/apache/sling-org-apache-sling-graphql-core/) module 
+allows for running GraphQL queries in Sling, using dynamically built GraphQL schemas and OSGi
+services for data fetchers (aka "resolvers") which provide the data.
+
+See the [o.a.s.graphql.core Git repository](https://github.com/apache/sling-org-apache-sling-graphql-core/)
+for more information.
+
+The [GraphQL Sample Website module](https://github.com/apache/sling-samples/tree/master/org.apache.sling.graphql.samples.website)
+provides a complete sample which uses GraphQL queries (and Handlebars templates) on both the server and client sides,
+to demonstrate the various modes that the GraphQL Core module supports.
\ No newline at end of file
diff --git a/src/main/jbake/content/documentation/bundles/jcr-installer-provider.md b/src/main/jbake/content/documentation/bundles/jcr-installer-provider.md
index 3ee9ccb..ae82646 100644
--- a/src/main/jbake/content/documentation/bundles/jcr-installer-provider.md
+++ b/src/main/jbake/content/documentation/bundles/jcr-installer-provider.md
@@ -16,17 +16,17 @@
 
 The JCR installer provider does not check or scan the artifacts itself, the detection and installation is deferred to the OSGi installer.
 
-### Runmode Support
+## Run Mode Support
 
-The JCR installer supports run modes for installing artifacts. By default folders named `install` are checked for artifacts. If Apache Sling is started with one (or more run modes), all folders named `install.[RUNMODE]` are scanned as well. To be precise, the folder name can be followed by any number of run modes separated by dot (`.`). For example, if started with run modes `dev`, `a1`, and `public`, folders like `install.dev`, `install.a1`, `install.public` are searched as well as `install.dev.a1`, or `install.a1.dev`.
+The JCR installer supports [run modes](sling-settings-org-apache-sling-settings.html) for installing artifacts. By default folders named `install` are checked for artifacts. If Apache Sling is started with one (or more run modes), all folders named `install.[RUNMODE]` are scanned as well. To be precise, the folder name can be followed by any number of run modes separated by dot (`.`). For example, if started with run modes `dev`, `a1`, and `public`, folders like `install.dev`, `install.a1`, `install.public` are searched as well as `install.dev.a1`, or `install.a1.dev`.
 
 Artifacts from folders with a run mode get a higher priority. For example by default, an `install` folder underneath `/libs` gets the priority `50`. For each run mode in the folder name, this priority is increased by `1`, so `install.dev` has `51` and `install.a1.dev` has `52`.
 
-### Start Level Support
+## Start Level Support
 
 If the parent folder of a bundle has a name which is a number, this is used as the start level (when installing the bundle for the first time, compare with [SLING-2011](https://issues.apache.org/jira/browse/SLING-2011)). So e.g. a bundle in the path `/libs/sling/install/15/somebundle.jar` is having the start level `15`. 
 
-# Write Back Support
+## Write Back Support
 
 The JCR installer supports writing back of configurations which are changed by some other ways, e.g by using the Apache Felix web console. If this is a new configuration which was not originally stored in the repository, a new configuration is stored under `/apps/sling/install`. The highest search path is used together with a configurable folder (`sling/install` in this case).
 If a configuration is changed which already exists in the repository, then it depends where the original configuration is stored. If its under `/libs` a new configuration at the same path under `/apps` is created. Otherwise the configuration is directly modified.
@@ -34,6 +34,10 @@
 
 Write back can be turned off by configuration.
 
+## Pausing the provider
+
+In version 3.1.8 ([SLING-3747](https://issues.apache.org/jira/browse/SLING-3747)) a mechanism has been added which pauses the scanning of artifacts. Whenever there is at least one child node below `/system/sling/installer/jcr/pauseInstallation` (path configurable), the provider will be paused i.e. not provide any artifacts to the OSGi installer. This is reasonable to do while executing operations which rely on certain services not being restarted. Every deployment of new bundles and configurations might potentially lead to restarts of existing services, e.g. due to new bundles being picked up by the [Dynamic Class Loader Provider](https://lists.apache.org/thread.html/57d56e31da3c1cb743cf524e0c85e46959f3af9ed946f2c4a41d33c0@%3Cdev.sling.apache.org%3E) or new OSGi configurations leading to restarts of (transitively) bound services).
+
 # Example
 Here's a quick walkthrough of the JCR installer functionality.
 
diff --git a/src/main/jbake/content/documentation/bundles/osgi-installer.md b/src/main/jbake/content/documentation/bundles/osgi-installer.md
index 878c2ef..d807714 100644
--- a/src/main/jbake/content/documentation/bundles/osgi-installer.md
+++ b/src/main/jbake/content/documentation/bundles/osgi-installer.md
@@ -106,7 +106,10 @@
 
 The OSGi installer provides a [Sling Health Check](/documentation/bundles/sling-health-check-tool.html) which validates that the processed OSGi installer resources have the correct state ([SLING-5888](https://issues.apache.org/jira/browse/SLING-5888)).
 By default it will only check resources with a URL prefix `jcrinstall:/apps/`, so only the resources being provided through the [JCR Installer Provider](/documentation/bundles/jcr-installer-provider.html) initially located below the repository resource `/apps/` are considered.
+
 The health check will fail in the following cases:
+* Bundles Installation Failure
+* Configuration Installation Failure
 
 ### Bundles Installation Failure
 
diff --git a/src/main/jbake/content/documentation/bundles/repository-initialization.md b/src/main/jbake/content/documentation/bundles/repository-initialization.md
index 678cddc..86e7ec3 100644
--- a/src/main/jbake/content/documentation/bundles/repository-initialization.md
+++ b/src/main/jbake/content/documentation/bundles/repository-initialization.md
@@ -1,4 +1,4 @@
-title=Repository Initalization
+title=Repository Initialization
 type=page
 status=published
 tags=repoinit,jcr,repository
@@ -148,10 +148,11 @@
         allow jcr:namespaceManagement on :repository 
     end
 	
-	# register namespace requires 
-	# o.a.s.repoinit.parser 1.0.4
-	# and o.a.s.jcr.repoinit 1.0.2
-	register namespace ( NSprefix ) uri:someURI/v1.42
+    # register namespace requires 
+    # o.a.s.repoinit.parser 1.0.4
+    # and o.a.s.jcr.repoinit 1.0.2
+    # below registers a namespace with the prefix 'myprefix' and the uri 'http://my.prefix/content/v1.42'.
+    register namespace ( myprefix ) http://my.prefix/content/v1.42
 
 	# register nodetypes in CND format
 	# (same bundle requirements as register namespaces)
diff --git a/src/main/jbake/content/documentation/bundles/resource-filter.md b/src/main/jbake/content/documentation/bundles/resource-filter.md
index 851bbec..af83b3a 100644
--- a/src/main/jbake/content/documentation/bundles/resource-filter.md
+++ b/src/main/jbake/content/documentation/bundles/resource-filter.md
@@ -1,7 +1,7 @@
 title=Resource Filter		
 type=page
 status=published
-tags=requests
+tags=requests,query
 ~~~~~~
 
 [TOC]
diff --git a/src/main/jbake/content/documentation/bundles/servlet-helpers.md b/src/main/jbake/content/documentation/bundles/servlet-helpers.md
index e8f538d..1ffcb34 100644
--- a/src/main/jbake/content/documentation/bundles/servlet-helpers.md
+++ b/src/main/jbake/content/documentation/bundles/servlet-helpers.md
@@ -1,21 +1,103 @@
-title=Sling Servlet Helpers		
+title=Sling Servlet Helpers and Internal Requests
 type=page
 status=published
-tags=servlets
+tags=servlets,requests,scripts,servletresolver
 ~~~~~~
 
-The Sling Servlet Helpers bundle provides mock implementations of the
-`SlingHttpServletRequest`, `SlingHttpServletResponse` and related classes.
+The [Sling Servlet Helpers](https://github.com/apache/sling-org-apache-sling-servlet-helpers) 
+bundle provides mock implementations of the `SlingHttpServletRequest`, `SlingHttpServletResponse`
+and related classes, along with fluent `SlingInternalRequest` and `ServletInternalRequest`
+helpers for internal requests.
 
-Those mock implementations are meant to be used in tests and also with services
-like the `SlingRequestProcessor` when making requests to that service outside of
-an HTTP request processing context.
+The mock request/response implementations are meant to be used in tests and
+also with services like the `SlingRequestProcessor` when making requests to
+that service outside of an HTTP request processing context.
+
+They are used under the hood by the `SlingInternalRequest` and 
+`ServletInternalRequest` helpers to provide a simple and foolproof way
+of executing internal Sling requests.
+
+The [GraphQL Core](https://github.com/apache/sling-org-apache-sling-graphql-core/) module,
+for example, uses them for internal requests that retrieve a GraphQL schema dynamically,
+taking into account the current Resource and request selectors.
 
 See the [automated tests](https://github.com/apache/sling-org-apache-sling-servlet-helpers) 
-of the `servlet-helpers` module for more info.
+of the `servlet-helpers` module for more info, besides the general 
+descriptions found below.
 
 
-## Usage
+## InternalRequest helpers
+
+The internal request helpers use either a `SlingRequestProcessor` to execute internal requests using
+the full Sling request processing pipeline, or a `ServletResolver` to resolve and call a Servlet or Script
+directly. The necessary "mocking" of requests are responses happens under the hood which leads to much
+simpler code than using the mock request/response classes directly.
+
+The latter direct-to-servlet (or script) mode is more efficient but less faithful to the way HTTP requests
+are processed, as it bypasses all Servlet Filters, in particular.
+
+Here's an example using the `SlingInternalRequest` helper - see the test code for more. The
+`ServletInternalRequest` API is very similar but takes a `ServletResolver` and an actual `Resource`
+as its starting points.
+
+    OutputStream os = new SlingInternalRequest(resourceResolver, slingRequestProcessor, path)
+      .withResourceType("website/article/news")
+      .withResourceSuperType("website/article")
+      .withSelectors("print", "a4")
+      .withExtension("pdf")
+      .execute()
+      .checkStatus(200)
+      .checkResponseContentType("application/pdf")
+      .getResponse()
+      .getOutputStream()
+
+Not all servlets and scripts are suitable to be called by the `ServletInternalRequest`, depending
+on their "environmental" requirements like `Request` attributes for example.
+
+
+In case of doubt you can start with the `SlingInternalRequest` helper which uses the `SlingRequestProcessor`
+so that servlets or scripts should see no difference compared to HTTP requests. And once that works you can
+try the more efficient `ServletInternalRequest` helper to check if your scripts and servlets support
+that mode.
+
+In both cases, the standard [Sling Servlet/Script resolution mechanism](/documentation/the-sling-engine/servlets.html)
+is used, which can be useful to execute scripts that are resolved based on the current resource type, for non-HTTP
+operations. Inventing HTTP method names for this is fine and allows for reusing this powerful resolution mechanism
+in other contexts.
+
+### Troubleshooting internal requests
+
+To help map log messages to internal requests, as several of those might be used to handle a single
+HTTP request, the `InternalRequest` parent class of the helpers discussed above sets a log4j 
+_Mapped Diagnostic Context_ (MDC) value with the `sling.InternalRequest`key.
+
+The value of that key provides the essential attributes of the current request, so that using a log
+formatting pattern that displays it, like:
+
+    %-5level [%-50logger{50}] %message ## %mdc{sling.InternalRequest} %n
+
+Causes the internal request information to be logged, like in this example (lines folded
+for readability):
+
+    DEBUG [o.a.s.s.internalrequests.SlingInternalRequest     ]
+       Executing request using the SlingRequestProcessor
+       ## GET P=/content/tags/monitor+array S=null EXT=json RT=samples/tag(null)
+    WARN  [org.apache.sling.engine.impl.request.RequestData  ]
+      SlingRequestProgressTracker not found in request attributes
+      ## GET P=/content/tags/monitor+array S=null EXT=json RT=samples/tag(null)
+    DEBUG [o.a.s.s.resolver.internal.SlingServletResolver    ]
+      Using cached servlet /apps/samples/tag/json.gql
+      ## GET P=/content/tags/monitor+array S=null EXT=json RT=samples/tag(null)
+
+In these log messages, `GET P=/content/tags/monitor+array S=null EXT=json RT=samples/tag(null)` points
+to the current internal request, showing its method, path, selectors, extension, resource type and
+resource supertype.
+
+
+## Mock Request/Response classes
+
+These are useful for testing or if you need to do something that the internal request helpers
+do not support.
 
 ### SlingHttpServletRequest
 
@@ -82,3 +164,4 @@
 
     // validate response body as binary data
     assertArrayEquals(TEST_DATA, response.getOutput());
+    
diff --git a/src/main/jbake/content/documentation/bundles/sling-health-check-tool.md b/src/main/jbake/content/documentation/bundles/sling-health-check-tool.md
index 95d4ebe..2516646 100644
--- a/src/main/jbake/content/documentation/bundles/sling-health-check-tool.md
+++ b/src/main/jbake/content/documentation/bundles/sling-health-check-tool.md
@@ -32,7 +32,7 @@
 Typically necessary steps:
 
 * Use the `Organize Imports` functionality of your IDE to fix the imports (mostly it is just replacing `org.apache.sling.hc.api` with `org.apache.felix.hc.api`, however the commonly used class `FormattingResultLog` has been moved from `org.apache.sling.hc.util` to `org.apache.felix.hc.api`)
-* For the case the annotation `@SlingHealthCheck` is used, replace that one with the new Felix annotations from [org.apache.felix.healthcheck.annotation](https://github.com/apache/felix/blob/trunk/healthcheck/README.md#annotations-to-simplify-configuration-of-custom-health-checks)
+* For the case the annotation `@SlingHealthCheck` is used, replace that one with the new Felix annotations from [org.apache.felix.healthcheck.annotation](https://github.com/apache/felix-dev/blob/master/healthcheck/)
 * There is no `util` package in the api bundle anymore, apart from `FormattingResultLog` the other classes in the package were rarely used. The class `SimpleConstraintChecker` has moved to `org.apache.felix.hc.generalchecks.util` in bundle `generalchecks` (maven dependency to `org.apache.felix.healthcheck.generalchecks` needs to be added for that case). For the other classes there is no replacement.
 
 Only necessary if the the respective feature is used:
diff --git a/src/main/jbake/content/documentation/bundles/sling-query.md b/src/main/jbake/content/documentation/bundles/sling-query.md
index ccaf8c3..edaffb5 100644
--- a/src/main/jbake/content/documentation/bundles/sling-query.md
+++ b/src/main/jbake/content/documentation/bundles/sling-query.md
@@ -1,7 +1,7 @@
 title=Sling Query		
 type=page
 status=published
-tags=slingquery
+tags=slingquery,query
 ~~~~~~
 
 SlingQuery is a Sling resource tree traversal tool inspired by the [jQuery](http://api.jquery.com/category/traversing/tree-traversal/) JavaScript API.
diff --git a/src/main/jbake/content/documentation/development.md b/src/main/jbake/content/documentation/development.md
index ee0fd65..3a6ec93 100644
--- a/src/main/jbake/content/documentation/development.md
+++ b/src/main/jbake/content/documentation/development.md
@@ -16,6 +16,7 @@
 
 * [Getting and Building Sling](/documentation/development/getting-and-building-sling.html)
 * [Defining and Launching a Sling based Application](/documentation/development/slingstart.html)
+* [Content-Package based development](/documentation/development/content-packages.html)
 * [Embedding Sling](/documentation/development/embedding-sling.html)
 * [Logging](/documentation/development/logging.html)
 * [Client Request Logging](/documentation/development/client-request-logging.html)
diff --git a/src/main/jbake/content/documentation/development/content-packages.md b/src/main/jbake/content/documentation/development/content-packages.md
new file mode 100644
index 0000000..fcf1516
--- /dev/null
+++ b/src/main/jbake/content/documentation/development/content-packages.md
@@ -0,0 +1,115 @@
+title=Content-Package based development
+type=page
+status=published
+tags=development,contentloading
+~~~~~~
+
+# Content-Package based development
+
+Sling offers first-class support for [Apache Jackrabbit FileVault](https://jackrabbit.apache.org/filevault/) content packages. FileVault offers a way of mapping content on filesystem to the JCR repository and the other way around. Content packages are an alternative to [the content loader mechanism](/documentation/bundles/content-loading-jcr-contentloader.html), offering a richer tool set and better support for deploying additional entities, such as users, groups, and access control entries.
+
+There are three components of the content packages support:
+
+- client-side tooling for building and installing content packages
+- server-side support for installing content packages at runtime
+- server-side support for installing content packages at build time
+
+The server-side support for Apache Sling is made of:
+
+- the [Composum Package Manager](https://www.composum.com/home/nodes/pckgmgr.html), implementing the HTTP API that receives and installs content packages
+- the [Apache Sling Content Package Installer Factory](/documentation/bundles/content-package-installer-factory.html), allowing the deployment of content packages at build time.
+
+Content packages can be included at build time using either the [provisioning model](/documentation/development/slingstart.html) or the [feature model](/documentation/development/feature-model.html).
+
+The client-side support depends on the toolset used to build the project.
+
+For Maven projects, this support consists of
+
+- the [filevault-package-maven-plugin](https://jackrabbit.apache.org/filevault-package-maven-plugin/) builds content packages from Maven projects
+- the [wcmio-content-package-maven-plugin](https://wcm.io/tooling/maven/plugins/wcmio-content-package-maven-plugin/) uploads content packages at runtime to a Sling instance using an HTTP API
+
+For Javascript projects, the suport consists of the [Sling Packager](https://github.com/apache/sling-slingpackager/).
+
+## Creating a content package
+
+### Maven projects
+
+There are two options for getting started with content package projects via Maven.
+
+The first one is the [Sling Project Archetype](https://github.com/apache/sling-project-archetype), which creates a multi-module project that includes content packages as part of its output. To use it, run the following command
+
+    $ mvn archetype:generate -Dfilter=org.apache.sling:sling-project-archetype
+
+then select the latest version of the archetype and fill in the required information.
+
+The second one is [Content-Package Archetype](https://github.com/apache/sling-content-package-archetype) , which creates a single content package. Similar to the `sling-project-archetype`, generating a project only requires:
+
+    $ mvn archetype:generate -Dfilter=org.apache.sling:sling-content-archetype
+
+Using one archetype or the other is largely a matter of preference. The `sling-project-archetype` takes a more batteries-included approach, while the `sling-content-archetype` creates only a minimal content package.
+
+### Node projects
+
+An example project using the Sling Packager can be found at [peregrine-cms/simple-sling-vue-example](https://github.com/peregrine-cms/simple-sling-vue-example) on GitHub.
+
+## Deploying a content package at runtime
+
+### Maven projects
+
+Building a content package is achieved using the Maven command line
+
+    $ mvn package
+    
+After starting up Sling, the resulting file can then be deployed using the wcmio-content-package-maven-plugin
+
+    $ mvn wcmio-content-package:install
+   
+### Node projects
+
+Content packages are built with
+
+    $ npx slingpackager package <folder>
+
+After starting up Sling, the resulting file can then be deployed with
+
+    $ npx slingpackager upload <content-package.zip> -i
+ 
+### Composum UI
+
+The [Composum package manager](https://www.composum.com/home/nodes/pckgmgr.html) allows performing multiple operations through its user interface. To access the package manager, ensure that you are logged in to the Sling Starter and then navigate to the Composum Package Manager at [http://localhost:8080/bin/packages.html](http://localhost:8080/bin/packages.html).
+
+Some of the possible operations are:
+
+- building content packages from existing content
+- uploading and installing existing content packages
+- uninstalling existing content packages
+
+### OSGi Installer
+
+Installing packages through the [OSGi installer](../bundles/osgi-installer.html) is supported via the [Content Package Installer Factory](../bundles/content-package-installer-factory.html).
+
+### Notes
+
+Inspecting the content package reveals that is is just a ZIP file with additional metadata. Of definite interest are the manifest - `META-INF/MANIFEST.MF` and the filter definition - `META-INF/vault/filter.xml`. More information can be found at <https://jackrabbit.apache.org/filevault/metadata.html>.
+
+The [Sling IDE Tooling](/documentation/development/ide-tooling.html) has support for exporting and importing content incrementally to a Sling instance, and can be used alongside the Maven-based tooling.
+
+## Installing a content package at build time
+
+For the content package to be installed at build time, it must be available in a Maven repository at the time when the Sling application is built.
+
+For the provisioning model, the content package must be added to an `artifacts` section, with the zip extension.
+
+    [feature name=my-app]
+
+    [artifacts]
+      org.apache.sling.sample/org.apache.sling.sample001/1.0-SNAPSHOT/zip
+      
+For the feature model, the content package must be added to the `content-packages` section, also with a zip extension:
+
+    {
+      "id": "...",
+      "content-packages:ARTIFACTS|true": [
+        "org.apache.sling.sample:org.apache.sling.sample001:zip:1.0-SNAPSHOT"
+      ]
+    }
diff --git a/src/main/jbake/content/releases.md b/src/main/jbake/content/releases.md
index 3d4a583..5d478d6 100644
--- a/src/main/jbake/content/releases.md
+++ b/src/main/jbake/content/releases.md
@@ -6,8 +6,17 @@
 ~~~~~~
 This is a list of all our releases, available from our [downloads](/downloads.cgi) page.
 
+## June 2020
+
+* Models Validation Implementation 1.0.0 (10th)
+
 ## May 2020
 
+* Installer Factory Feature 0.4.0 (28th)
+* Sling Project Archetype 1.0.4, Sling Kickstart Project 0.0.2, Sling Kickstart Maven Plugin 0.0.2 (18th) 
+* Parent 39, Bundle Parent 39, JAR Resource Bundle 1.0.2 (14th)
+* Archetype Parent 6 (12th)
+* Slingfeature Maven Plugin 1.3.0, Installer Packages Factory 1.0.4, Form Based Authentication 1.0.20 (11th)
 * Installer Factory Feature Model 0.3.0 (6th)
 * Installer Factory Feature Model 0.2.0, Slingfeature Maven Plugin 1.2.4, Slingstart Maven Plugin 1.9.12 (3rd)
 * Installer Core 3.11.4, Testing JCR Mock 1.4.6, Testing OSGi Mock 2.4.16, Testing Sling Mock 2.5.0, Testing Sling Mock Oak 2.1.10-1.16.0 (2nd)
diff --git a/src/main/jbake/templates/downloads.tpl b/src/main/jbake/templates/downloads.tpl
index 9471fbd..95eed45 100644
--- a/src/main/jbake/templates/downloads.tpl
+++ b/src/main/jbake/templates/downloads.tpl
@@ -35,10 +35,11 @@
   "Maven Launchpad Plugin|maven-launchpad-plugin|2.3.4|Y",
   "Scripting Bundle Maven Plugin 0.1.0|scriptingbundle-maven-plugin|0.1.0|Y",
   "Sling Maven Plugin|sling-maven-plugin|2.4.2|Y",
-  "Sling Feature Maven Plugin|slingfeature-maven-plugin|1.2.4|Y",
+  "Sling Feature Maven Plugin|slingfeature-maven-plugin|1.3.0|Y",
   "Sling Feature Converter Maven Plugin|sling-feature-converter-maven-plugin|1.0.4|Y",
   "Slingstart Maven Plugin|slingstart-maven-plugin|1.9.12|Y",
   "HTL Maven Plugin|htl-maven-plugin|1.3.4-1.4.0|Y",
+  "Sling Kickstart Maven Plugin|sling-kickstart-maven-plugin|0.0.2|Y",
 ]
 
 def bndPlugins=[
@@ -50,7 +51,7 @@
   "Adapter Annotations|adapter-annotations|1.0.0|Y|jar",
   "API|org.apache.sling.api|2.22.0|Y|jar",
   "Auth Core|org.apache.sling.auth.core|1.4.6|Y|jar",
-  "Auth Form|org.apache.sling.auth.form|1.0.14|Y|jar",
+  "Form Based Authentication|org.apache.sling.auth.form|1.0.20|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",
@@ -135,10 +136,10 @@
   "Health Check Support|org.apache.sling.hc.support|1.0.6|Y|jar",
   "Health Check JUnit Bridge|org.apache.sling.hc.junit.bridge|1.0.2|Y|jar",
   "Installer Core|org.apache.sling.installer.core|3.11.4|Y|jar",
-  "Installer Configuration Support|org.apache.sling.installer.factory.configuration|1.3.0|Y|jar",
+  "Installer Configuration Support|org.apache.sling.installer.factory.configuration|1.3.2|Y|jar",
   "Installer Console|org.apache.sling.installer.console|1.1.0|Y|jar",
-  "Installer Content Package Support|org.apache.sling.installer.factory.packages|1.0.2|Y|jar",
-  "Installer Factory Feature Model|org.apache.sling.installer.factory.model|0.3.0|Y|jar",
+  "Installer Content Package Support|org.apache.sling.installer.factory.packages|1.0.4|Y|jar",
+  "Installer Factory Feature Model|org.apache.sling.installer.factory.model|0.4.0|Y|jar",
   "Installer File Provider|org.apache.sling.installer.provider.file|1.2.2|Y|jar",
   "Installer Health Checks|org.apache.sling.installer.hc|2.0.2|Y|jar",
   "Installer JCR Provider|org.apache.sling.installer.provider.jcr|3.2.2|Y|jar",
@@ -166,6 +167,7 @@
   "JUnit Scriptable Tests Provider|org.apache.sling.junit.scriptable|1.0.12|Y|jar",
   "JUnit Tests Teleporter|org.apache.sling.junit.teleporter|1.0.20|Y|jar",
   "JUnit Health Checks|org.apache.sling.junit.healthcheck|1.0.6|Y|jar",
+  "Kickstart Project|org.apache.sling.kickstart|0.0.2|Y|jar",
   "Launchpad API|org.apache.sling.launchpad.api|1.2.0|Y|jar",
   "Launchpad Base|org.apache.sling.launchpad.base|6.0.2-2.6.36|Y|jar",
   "Launchpad Base - Application Launcher|org.apache.sling.launchpad.base|6.0.2-2.6.36|Y|war",
@@ -183,6 +185,7 @@
   "Models bnd Plugin|org.apache.sling.bnd.models|1.0.0|Y|jar",
   "Models Implementation|org.apache.sling.models.impl|1.4.12|Y|jar",
   "Models Jackson Exporter|org.apache.sling.models.jacksonexporter|1.0.8|Y|jar",
+  "Models Validation Implementation|org.apache.sling.models.validation-impl|1.0.0|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",
