You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2023/10/25 03:55:23 UTC

[sling-org-apache-sling-app-cms] 01/02: SLING-12120 - Aligning feature structure with starter and syncing latest updates

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

dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git

commit 923da0fe65368f3d2d0f0030bfe3ae0abb4e0e8e
Author: Dan Klco <kl...@adobe.com>
AuthorDate: Tue Oct 24 23:53:04 2023 -0400

    SLING-12120 - Aligning feature structure with starter and syncing latest updates
---
 .../META-INF/maven/archetype-metadata.xml          |   4 +-
 .../src/main/resources/archetype-resources/pom.xml |   2 +-
 core/pom.xml                                       |   2 +-
 feature/pom.xml                                    |  19 +-
 .../src/main/features/{cms => app}/composum.json   |  17 +-
 feature/src/main/features/app/htl_repl.json        |   8 +
 feature/src/main/features/base-repoinit.txt        |   4 +
 feature/src/main/features/base.json                | 727 +++++++++++----------
 feature/src/main/features/boot.json                | 345 ++++++----
 feature/src/main/features/caconfig.json            |  47 +-
 feature/src/main/features/cms/cms.json             | 359 +++++-----
 feature/src/main/features/cms/dependencies.json    |  24 +-
 .../src/main/features/{ => cms}/distribution.json  |   0
 feature/src/main/features/cms/healthchecks.json    | 141 ++--
 feature/src/main/features/discovery.json           |  72 +-
 feature/src/main/features/event.json               |  44 +-
 .../src/main/features/framework-properties.json    |  16 -
 feature/src/main/features/groovy.json              | 206 +++---
 feature/src/main/features/healthcheck.json         | 219 +++----
 feature/src/main/features/maintenance.json         |   2 +-
 .../src/main/features/models-jacksonexporter.json  |  51 +-
 feature/src/main/features/oak/oak_base.json        | 426 ++++++------
 feature/src/main/features/scripting.json           | 221 +++----
 feature/src/main/features/thumbnails.json          |  43 --
 feature/src/main/features/validation.json          |  41 +-
 feature/src/main/features/webconsole.json          |  30 +-
 pom.xml                                            |  38 +-
 reference/pom.xml                                  |   2 +-
 28 files changed, 1549 insertions(+), 1561 deletions(-)

diff --git a/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
index 789c2b20..de835314 100644
--- a/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -47,8 +47,8 @@ License. -->
     <requiredProperty key="servlet-api-version">
       <defaultValue>${servlet-api-version}</defaultValue>
     </requiredProperty>
-    <requiredProperty key="slf4j-version">
-      <defaultValue>${slf4j-version}</defaultValue>
+    <requiredProperty key="slf4j.version">
+      <defaultValue>${slf4j.version}</defaultValue>
     </requiredProperty>
 
   </requiredProperties>
diff --git a/archetype/src/main/resources/archetype-resources/pom.xml b/archetype/src/main/resources/archetype-resources/pom.xml
index 6fc11057..19581b03 100644
--- a/archetype/src/main/resources/archetype-resources/pom.xml
+++ b/archetype/src/main/resources/archetype-resources/pom.xml
@@ -230,7 +230,7 @@ Sling-Model-Packages: ${package}
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
-      <version>${slf4j-version}</version>
+      <version>${slf4j.version}</version>
       <scope>provided</scope>
     </dependency>
 
diff --git a/core/pom.xml b/core/pom.xml
index dceebaac..be995b09 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -152,7 +152,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-lucene</artifactId>
-            <version>${oak-version}</version>
+            <version>${oak.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/feature/pom.xml b/feature/pom.xml
index fd8de32a..a06b4cf2 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -10,7 +10,9 @@
         either express or implied. See the License for the specific language governing permissions
         and limitations under the License.
     -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <artifactId>org.apache.sling.cms</artifactId>
@@ -43,14 +45,9 @@
       <plugin>
         <groupId>org.apache.sling</groupId>
         <artifactId>slingfeature-maven-plugin</artifactId>
-        <version>1.6.8</version>
+        <version>1.7.2</version>
         <extensions>true</extensions>
         <configuration>
-          <framework>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.framework</artifactId>
-            <version>6.0.3</version>
-          </framework>
           <aggregates>
             <aggregate>
               <classifier>slingcms-standalone</classifier>
@@ -95,7 +92,6 @@
             <aggregate>
               <classifier>slingcms-upgrade</classifier>
               <filesInclude>**/*.json</filesInclude>
-              <filesExclude>framework-properties.json</filesExclude>
               <filesExclude>oak/node-store/*.json</filesExclude>
               <filesExclude>runmodes/*.json</filesExclude>
               <title>Sling CMS - Upgrade</title>
@@ -140,7 +136,8 @@
               <goal>attach-featurearchives</goal>
             </goals>
             <configuration>
-              <replacePropertyVariables>asm-version,org-apache-sling-api-version,org-apache-sling-scripting-jsp-taglib-version,cms-version,composum-nodes-version,groovy-version,guava-version,jackrabbit-version,jackson-version,oak-version,slf4j-version,cocoon-serializers-charsets-version,org.apache.felix.webconsole-version,commons-lang3-version,jstl-version,org-apache-sling-models-api-version,org.apache.sling.scripting.jsp.taglib,geronimo-atinject_1-0_spec-version,commons-io-version,tika- [...]
+              <replacePropertyVariables>
+                asm.version,org-apache-sling-api-version,org-apache-sling-scripting-jsp-taglib-version,cms-version,composum.nodes.version,groovy.version,guava-version,jackrabbit.version,jackson.version,oak.version,slf4j.version,cocoon-serializers-charsets-version,org.apache.felix.webconsole-version,commons-lang3-version,jstl-version,org-apache-sling-models-api-version,org.apache.sling.scripting.jsp.taglib,geronimo-atinject_1-0_spec-version,commons-io-version,tika-version,pdfbox-version,h [...]
             </configuration>
           </execution>
         </executions>
@@ -229,7 +226,7 @@
           <plugin>
             <groupId>org.apache.sling</groupId>
             <artifactId>feature-launcher-maven-plugin</artifactId>
-            <version>0.1.0</version>
+            <version>0.1.6</version>
             <configuration>
               <launches>
                 <launch>
@@ -368,4 +365,4 @@
       <scope>compile</scope>
     </dependency>
   </dependencies>
-</project>
+</project>
\ No newline at end of file
diff --git a/feature/src/main/features/cms/composum.json b/feature/src/main/features/app/composum.json
similarity index 71%
rename from feature/src/main/features/cms/composum.json
rename to feature/src/main/features/app/composum.json
index 421eca0b..064d2816 100644
--- a/feature/src/main/features/cms/composum.json
+++ b/feature/src/main/features/app/composum.json
@@ -2,23 +2,23 @@
 {
     "bundles":[
         {
-            "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-httpclient:3.1_7",
-            "start-order": "20"
+            "id":"com.composum.nodes:composum-nodes-commons:${composum.nodes.version}",
+            "start-order":"20"
         },
         {
-            "id":"com.composum.nodes:composum-nodes-commons:${composum-nodes-version}",
+            "id":"com.composum.nodes:composum-nodes-console:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.nodes:composum-nodes-console:${composum-nodes-version}",
+            "id":"com.composum.nodes:composum-nodes-jslibs:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.nodes:composum-nodes-jslibs:${composum-nodes-version}",
+            "id":"com.composum.nodes:composum-nodes-pckgmgr:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.nodes:composum-nodes-pckgmgr:${composum-nodes-version}",
+            "id":"com.composum.nodes:composum-nodes-usermgr:${composum.nodes.version}",
             "start-order":"20"
         }
     ],
@@ -26,9 +26,10 @@
         "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~composum":{
             "whitelist.bundles":[
                 "com.composum.nodes.commons",
-                "com.composum.nodes.pckgmgr"
+                "com.composum.nodes.pckgmgr",
+                "com.composum.nodes.usermgr"
             ],
             "whitelist.name":"composum"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/feature/src/main/features/app/htl_repl.json b/feature/src/main/features/app/htl_repl.json
new file mode 100644
index 00000000..fad818e6
--- /dev/null
+++ b/feature/src/main/features/app/htl_repl.json
@@ -0,0 +1,8 @@
+{
+    "bundles": [
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.repl:1.0.10",
+            "start-order":"20"
+        }
+    ]
+}
diff --git a/feature/src/main/features/base-repoinit.txt b/feature/src/main/features/base-repoinit.txt
index dc4a7e88..3ad12283 100644
--- a/feature/src/main/features/base-repoinit.txt
+++ b/feature/src/main/features/base-repoinit.txt
@@ -78,3 +78,7 @@ set principal ACL for sling-jcr-usermanager
     allow jcr:read,jcr:readAccessControl,jcr:modifyAccessControl,rep:write,rep:userManagement on /home
 end
 # SLING-9809 - Define service user and ACLs for jcr.usermanager >>>
+
+# SLING-10597 - Simplify setup of resource resolution mappings
+create path (sling:Folder) /etc/map
+create path (sling:Folder) /etc/map/http
diff --git a/feature/src/main/features/base.json b/feature/src/main/features/base.json
index cc8b4ca6..079f9f4c 100644
--- a/feature/src/main/features/base.json
+++ b/feature/src/main/features/base.json
@@ -1,355 +1,374 @@
+
 {
-  "bundles":[
-    {
-      "id":"commons-codec:commons-codec:1.15",
-      "start-order":"5"
-    },
-    {
-      "id":"commons-collections:commons-collections:3.2.2",
-      "start-order":"15"
-    },
-    {
-      "id":"jakarta.activation:jakarta.activation-api:2.1.0",
-      "start-order":"15"
-    },
-    {
-      "id":"jakarta.mail:jakarta.mail-api:2.1.0",
-      "start-order":"20"
-    },
-    {
-      "id":"com.sun.mail:javax.mail:1.6.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.commons:commons-collections4:4.4",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.commons:commons-math:2.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.geronimo.bundles:jstl:${jstl-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.httpcomponents:httpclient-osgi:${httpclient-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.httpcomponents:httpcore-osgi:4.4.15",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.adapter:2.2.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.auth.form:1.0.24",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.bundleresource.impl:2.3.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.classloader:1.4.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.compiler:2.4.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.fsclassloader:1.0.14",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.mime:2.2.2",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.12",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.threads:3.2.22",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.engine:${org-apache-sling-engine-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.fsresource:2.2.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.i18n:2.5.18",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.installer.factory.packages:1.0.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.models.api:${org-apache-sling-models-api-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.models.impl:1.5.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.resourceresolver:1.9.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.5.4",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.servlets.get:2.1.44",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.servlets.post:2.5.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.9.6",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.xss:2.3.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.metatype:1.2.4",
-      "start-order":"4"
-    },
-    {
-      "id":"commons-fileupload:commons-fileupload:1.4",
-      "start-order":"5"
-    },
-    {
-      "id":"commons-io:commons-io:${commons-io-version}",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.aries.jmx:org.apache.aries.jmx.api:1.1.5",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.aries.jmx:org.apache.aries.jmx.core:1.1.8",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.aries.jmx:org.apache.aries.jmx.whiteboard:1.2.0",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.bundlerepository:2.0.10",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.http.jetty:4.2.0",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.http.servlet-api:1.2.0",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.inventory:1.1.0",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.prefs:1.1.0",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.api:${org-apache-sling-api-version}",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.auth.core:1.5.6",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.extensions.threaddump:0.2.2",
-      "start-order":"5"
-    },
-    {
-      "id":"io.dropwizard.metrics:metrics-core:3.2.6",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.metrics:1.2.10",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.http.sslfilter:1.2.6",
-      "start-order":"10"
-    },
-    {
-      "id":"org.apache.pdfbox:fontbox:${pdfbox-version}",
-      "start-order":"10"
-    },
-    {
-      "id":"org.apache.pdfbox:jempbox:1.8.16",
-      "start-order":"10"
-    },
-    {
-      "id":"org.apache.pdfbox:pdfbox:${pdfbox-version}",
-      "start-order":"10"
-    },
-    {
-      "id":"org.apache.tika:tika-core:${tika-version}",
-      "start-order":"10"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.resource.filter:1.0.0",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.provisioning.model:1.8.6",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.repoinit.parser:1.8.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.42",
-      "start-order":"20"
-    }
-  ],
-  "configurations":{
-    "org.apache.sling.commons.log.LogManager":{
-      "org.apache.sling.commons.log.packagingDataEnabled":true,
-      "org.apache.sling.commons.log.pattern":"%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
-      "org.apache.sling.commons.log.level":"info",
-      "org.apache.sling.commons.log.file":"logs/error.log",
-      "org.apache.sling.commons.log.file.number:Integer":7,
-      "org.apache.sling.commons.log.file.size":"'.'yyyy-MM-dd"
-    },
-    "org.apache.sling.engine.impl.log.RequestLogger":{
-      "access.log.enabled":true,
-      "request.log.outputtype:Integer":0,
-      "access.log.output":"log.access",
-      "request.log.output":"log.request",
-      "request.log.enabled":true,
-      "access.log.outputtype:Integer":0
-    },
-    "org.apache.sling.jcr.davex.impl.servlets.SlingDavExServlet":{
-      "alias":"/server"
-    },
-    "org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet":{
-      "dav.root":"/dav"
-    },
-    "org.apache.sling.commons.log.LogManager.factory.config~access.log":{
-      "org.apache.sling.commons.log.pattern":"%msg%n",
-      "org.apache.sling.commons.log.names":[
-        "log.access"
-      ],
-      "org.apache.sling.commons.log.level":"info",
-      "org.apache.sling.commons.log.file":"logs/access.log"
-    },
-    "org.apache.sling.commons.log.LogManager.factory.config~request.log":{
-      "org.apache.sling.commons.log.pattern":"%msg%n",
-      "org.apache.sling.commons.log.names":[
-        "log.request"
-      ],
-      "org.apache.sling.commons.log.level":"info",
-      "org.apache.sling.commons.log.file":"logs/request.log"
-    },
-    "org.apache.jackrabbit.vault.packaging.impl.PackagingImpl":{
-      "authIdsForRootInstallation":[
-        "sling-package-install"
-      ],
-      "packageRoots":[
-        "/etc/packages"
-      ],
-      "authIdsForHookExecution":[
-        "sling-package-install"
-      ]
-    },
-    "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling":{
-      "whitelist.bundles":[
-        "org.apache.sling.discovery.commons",
-        "org.apache.sling.discovery.base",
-        "org.apache.sling.discovery.oak",
-        "org.apache.sling.extensions.webconsolesecurityprovider",
-        "org.apache.sling.i18n",
-        "org.apache.sling.jcr.base",
-        "org.apache.sling.jcr.contentloader",
-        "org.apache.sling.jcr.jackrabbit.usermanager",
-        "org.apache.sling.jcr.oak.server",
-        "org.apache.sling.jcr.repoinit",
-        "org.apache.sling.servlets.post",
-        "org.apache.sling.serviceuser.webconsole"
-      ],
-      "whitelist.name":"sling"
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~i18n":{
-      "user.mapping":[
-        "org.apache.sling.i18n=[sling-readall]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~installer-packages":{
-      "user.mapping":[
-        "org.apache.sling.installer.factory.packages=[sling-package-install]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-install":{
-      "user.mapping":[
-        "org.apache.sling.installer.provider.jcr=[sling-readall,sling-jcr-install]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-resource":{
-      "user.mapping":[
-        "org.apache.sling.jcr.resource:validation=[sling-readall]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~observation":{
-      "user.mapping":[
-        "org.apache.sling.jcr.resource:observation=[sling-readall]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~resourceresolver":{
-      "user.mapping":[
-        "org.apache.sling.resourceresolver:mapping=[sling-readall]",
-        "org.apache.sling.resourceresolver:hierarchy=[sling-readall]",
-        "org.apache.sling.resourceresolver:observation=[sling-readall]",
-        "org.apache.sling.resourceresolver:console=[sling-readall]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~servletsresolver":{
-      "user.mapping":[
-        "org.apache.sling.servlets.resolver:console=[sling-readall]",
-        "org.apache.sling.servlets.resolver:scripts=[sling-search-path-reader]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~xss":{
-      "user.mapping":[
-        "org.apache.sling.xss=[sling-xss]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-usermanager":{
-      "user.mapping":[
-        "org.apache.sling.jcr.jackrabbit.usermanager=[sling-jcr-usermanager]"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-contentloader":{
-      "user.mapping":[
-        "org.apache.sling.jcr.contentloader=[sling-jcr-content-loader]"
-      ]
-    }
-  },
-  "repoinit:TEXT|true":"@file"
-}
\ No newline at end of file
+    "execution-environment:JSON|false":{
+        "framework":{
+            "id":"org.apache.felix:org.apache.felix.framework:7.0.5"
+        }
+    },
+    "bundles":[
+        {
+            "id":"org.owasp.encoder:encoder:1.2.3",
+            "start-order":"5"
+        },
+        {
+            "id":"commons-codec:commons-codec:1.16.0",
+            "start-order":"5"
+        },
+        {
+            "id":"commons-collections:commons-collections:3.2.2",
+            "start-order":"15"
+        },
+        {
+            "id":"javax.mail:mail:1.5.0-b01",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.commons:commons-collections4:4.4",
+            "start-order":"15"
+        },
+        {
+            "id":"com.fasterxml.woodstox:woodstox-core:6.5.1",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.commons:commons-math:2.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.geronimo.bundles:jstl:1.2_1",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.httpcomponents:httpclient-osgi:4.5.14",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.httpcomponents:httpcore-osgi:4.4.16",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.adapter:2.2.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.auth.form:1.0.24",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.bundleresource.impl:2.3.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.classloader:1.4.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.compiler:2.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.fsclassloader:1.0.14",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.mime:2.2.4",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.12",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.threads:3.2.22",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.engine:2.15.6",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.fsresource:2.2.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.i18n:2.6.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.factory.packages:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.hc:2.1.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.api:1.5.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.impl:1.6.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.resourceresolver:1.11.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.5.8",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.servlets.get:2.2.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.servlets.post:2.6.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.10.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.xss:2.3.8",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.metatype:1.2.4",
+            "start-order":"4"
+        },
+        {
+            "id":"commons-fileupload:commons-fileupload:1.5",
+            "start-order":"5"
+        },
+        {
+            "id":"commons-io:commons-io:2.14.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.aries.jmx:org.apache.aries.jmx.api:1.1.5",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.aries.jmx:org.apache.aries.jmx.core:1.1.8",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.aries.jmx:org.apache.aries.jmx.whiteboard:1.2.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.bundlerepository:2.0.10",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.jetty:5.1.2",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.inventory:2.0.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.prefs:1.1.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.api:2.27.2",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.auth.core:1.7.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.extensions.threaddump:0.2.2",
+            "start-order":"5"
+        },
+        {
+            "id":"io.dropwizard.metrics:metrics-core:3.2.6",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.metrics:1.2.12",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.sslfilter:2.0.2",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.pdfbox:fontbox:2.0.29",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.pdfbox:jempbox:1.8.17",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.pdfbox:pdfbox:2.0.29",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.tika:tika-core:1.28.5",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.tika:tika-parsers:1.28.5",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.resource.filter:1.0.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.provisioning.model:1.8.6",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.repoinit.parser:1.9.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.44",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.commons.log.LogManager":{
+            "org.apache.sling.commons.log.packagingDataEnabled":true,
+            "org.apache.sling.commons.log.pattern":"%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
+            "org.apache.sling.commons.log.level":"info",
+            "org.apache.sling.commons.log.file":"logs/error.log",
+            "org.apache.sling.commons.log.file.number:Integer":"7",
+            "org.apache.sling.commons.log.file.size":"'.'yyyy-MM-dd"
+        },
+        "org.apache.sling.engine.impl.log.RequestLogger":{
+            "access.log.enabled":true,
+            "request.log.outputtype:Integer":"0",
+            "access.log.output":"log.access",
+            "request.log.output":"log.request",
+            "request.log.enabled":true,
+            "access.log.outputtype:Integer":"0"
+        },
+        "org.apache.sling.jcr.davex.impl.servlets.SlingDavExServlet":{
+            "alias":"/server"
+        },
+        "org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet":{
+            "dav.root":"/dav"
+        },
+        "org.apache.sling.commons.log.LogManager.factory.config~access.log":{
+            "org.apache.sling.commons.log.pattern":"%msg%n",
+            "org.apache.sling.commons.log.names":[
+                "log.access"
+            ],
+            "org.apache.sling.commons.log.level":"info",
+            "org.apache.sling.commons.log.file":"logs/access.log"
+        },
+        "org.apache.sling.commons.log.LogManager.factory.config~request.log":{
+            "org.apache.sling.commons.log.pattern":"%msg%n",
+            "org.apache.sling.commons.log.names":[
+                "log.request"
+            ],
+            "org.apache.sling.commons.log.level":"info",
+            "org.apache.sling.commons.log.file":"logs/request.log"
+        },
+        "org.apache.sling.commons.scheduler.impl.QuartzScheduler":{
+            "allowedPoolNames":[
+                "oak",
+                "org-apache-sling-event"
+            ]
+        },
+        "org.apache.jackrabbit.vault.packaging.impl.PackagingImpl":{
+            "authIdsForRootInstallation":[
+                "sling-package-install"
+            ],
+            "packageRoots":[
+                "/etc/packages"
+            ],
+            "authIdsForHookExecution":[
+                "sling-package-install"
+            ]
+        },
+        "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling":{
+            "whitelist.bundles":[
+                "org.apache.sling.discovery.commons",
+                "org.apache.sling.discovery.base",
+                "org.apache.sling.discovery.oak",
+                "org.apache.sling.i18n",
+                "org.apache.sling.jcr.base",
+                "org.apache.sling.jcr.contentloader",
+                "org.apache.sling.jcr.jackrabbit.usermanager",
+                "org.apache.sling.jcr.oak.server",
+                "org.apache.sling.jcr.repoinit",
+                "org.apache.sling.servlets.post"
+            ],
+            "whitelist.name":"sling"
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~auth-core":{
+            "user.mapping":[
+                "org.apache.sling.auth.core=[sling-readall]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~i18n":{
+            "user.mapping":[
+                "org.apache.sling.i18n=[sling-readall]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~installer-packages":{
+            "user.mapping":[
+                "org.apache.sling.installer.factory.packages=[sling-package-install]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-install":{
+            "user.mapping":[
+                "org.apache.sling.installer.provider.jcr=[sling-readall,sling-jcr-install]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-resource":{
+            "user.mapping":[
+                "org.apache.sling.jcr.resource:validation=[sling-readall]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~observation":{
+            "user.mapping":[
+                "org.apache.sling.jcr.resource:observation=[sling-readall]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~resourceresolver":{
+            "user.mapping":[
+                "org.apache.sling.resourceresolver:mapping=[sling-readall]",
+                "org.apache.sling.resourceresolver:hierarchy=[sling-readall]",
+                "org.apache.sling.resourceresolver:observation=[sling-readall]",
+                "org.apache.sling.resourceresolver:console=[sling-readall]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~servletsresolver":{
+            "user.mapping":[
+                "org.apache.sling.servlets.resolver:console=[sling-readall]",
+                "org.apache.sling.servlets.resolver:scripts=[sling-search-path-reader]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~xss":{
+            "user.mapping":[
+                "org.apache.sling.xss=[sling-xss]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-usermanager":{
+            "user.mapping":[
+                "org.apache.sling.jcr.jackrabbit.usermanager=[sling-jcr-usermanager]"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~jcr-contentloader":{
+            "user.mapping":[
+                "org.apache.sling.jcr.contentloader=[sling-jcr-content-loader]"
+            ]
+        }
+    },
+    "repoinit:TEXT|true":"@file"
+}
diff --git a/feature/src/main/features/boot.json b/feature/src/main/features/boot.json
index 59218e2c..37024a91 100644
--- a/feature/src/main/features/boot.json
+++ b/feature/src/main/features/boot.json
@@ -1,140 +1,209 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.felix:org.apache.felix.cm.json:1.0.6",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.aries:org.apache.aries.util:1.1.3",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.commons:commons-lang3:${commons-lang3-version}",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.configadmin:1.9.26",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.converter:1.0.18",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.eventadmin:1.6.2",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.3",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:${geronimo-atinject_1-0_spec-version}",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.5.1_1",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.9.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.johnzon:${org-apache-sling-commons-johnzon-version}",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.log:5.4.2",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.log:1.2.6",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.2",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.installer.core:3.12.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.4.2",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.3.4",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.javax.activation:0.3.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.settings:1.4.2",
-      "start-order":"1"
-    },
-    {
-      "id":"org.jvnet.staxex:stax-ex:1.8.3",
-      "start-order":"1"
-    },
-    {
-      "id":"org.osgi:org.osgi.service.log:1.5.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.osgi:org.osgi.service.component:1.5.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.osgi:org.osgi.util.function:1.2.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.osgi:org.osgi.util.promise:1.2.0",
-      "start-order":"1"
-    },
-    {
-      "id":"org.osgi:org.osgi.util.pushstream:1.0.2",
-      "start-order":"1"
-    },
-    {
-      "id":"org.slf4j:jcl-over-slf4j:${slf4j-version}",
-      "start-order":"1"
-    },
-    {
-      "id":"org.slf4j:log4j-over-slf4j:${slf4j-version}",
-      "start-order":"1"
-    },
-    {
-      "id":"org.slf4j:slf4j-api:${slf4j-version}",
-      "start-order":"1"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.scr:2.1.30",
-      "start-order":"1"
+    "variables": {
+        "sling.home": null
+    },
+    "bundles":[
+        {
+            "id":"org.apache.aries:org.apache.aries.util:1.1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.commons:commons-text:1.10.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.commons:commons-lang3:3.13.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.configadmin:1.9.26",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.configadmin.plugin.interpolation:1.2.8",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.converter:1.0.18",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.eventadmin:1.6.4",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.cm.json:1.0.8",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-runtime:2.3.2_3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.5.1_1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.3:2.3_3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.9.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.johnzon:1.2.16",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.log:5.4.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.log:1.3.0",
+            "start-order":"1"
+        },
+        {
+            "id": "org.ow2.asm:asm:${asm.version}",
+            "start-order": "1"
+        },
+        {
+            "id": "org.ow2.asm:asm-analysis:${asm.version}",
+            "start-order": "1"
+        },
+        {
+            "id": "org.ow2.asm:asm-commons:${asm.version}",
+            "start-order": "1"
+        },
+        {
+            "id": "org.ow2.asm:asm-tree:${asm.version}",
+            "start-order": "1"
+        },
+        {
+            "id": "org.ow2.asm:asm-util:${asm.version}",
+            "start-order": "1"
+        },
+        {
+            "id": "org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundle:1.3.6",
+            "start-order": "1"
+        },
+        {
+            "id":"jakarta.json:jakarta.json-api:2.1.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.eclipse.parsson:parsson:1.1.4",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.core:3.12.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.servlet-api:3.0.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.4.4",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.3.4",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.javax.activation:0.3.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.settings:1.4.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.jvnet.staxex:stax-ex:1.8.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.codehaus.woodstox:stax2-api:4.2.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.service.component:1.5.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.service.log:1.5.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.function:1.2.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.promise:1.3.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.pushstream:1.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:jcl-over-slf4j:${slf4j.version}",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:log4j-over-slf4j:${slf4j.version}",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:slf4j-api:${slf4j.version}",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.scr:2.2.6",
+            "start-order":"1"
+        }
+
+    ],
+    "framework-properties":{
+        "localIndexDir":"${sling.home}/repository/index",
+        "repository.home":"${sling.home}/repository",
+        // export XML packages in addition to JRE version with special versions for backwards-compatibility reasons
+        "sling.jre-1.8.javax.xml":",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\" [...]
+        "sling.jpms.javax.xml":"{dollar}{sling.jre-1.8.javax.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"", // all from Java 1.8 and in addition javax.xml.catalog
+        "felix.systempackages.calculate.uses":"true",
+        "org.osgi.framework.bootdelegation": "sun.*,com.sun.*,jdk.internal.reflect,jdk.internal.reflect.*",
+        "org.osgi.framework.system.packages.extra": "{dollar}{sling.jre-{dollar}{java.specification.version}.javax.xml}{dollar}{sling.{dollar}{felix.detect.jpms}.javax.xml}",
+        "felix.systempackages.substitution":"true",
+        "sling.fileinstall.dir":"${sling.home}/install",
+        "sling.fileinstall.dir.autocreate":"true",
+        "felix.cm.config.plugins": "org.apache.felix.configadmin.plugin.interpolation",
+        "org.apache.aries.spifly.auto.consumers":"jakarta.json-api",
+        "org.apache.aries.spifly.auto.providers": "org.eclipse.parsson"
     }
-  ]
-}
\ No newline at end of file
+}
diff --git a/feature/src/main/features/caconfig.json b/feature/src/main/features/caconfig.json
index 5d3573d9..3729c809 100644
--- a/feature/src/main/features/caconfig.json
+++ b/feature/src/main/features/caconfig.json
@@ -1,24 +1,29 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.sling:org.apache.sling.caconfig.api:${org-apache-sling-caconfig-api-version}",
-      "start-order":"20"
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.caconfig.api:1.3.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.caconfig.impl:1.6.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.caconfig.spi:1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.caconfig:1.0.2",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig":{
+            "user.mapping":[
+                "org.apache.sling.caconfig.impl=[sling-readall]"
+            ]
+        }
     },
-    {
-      "id":"org.apache.sling:org.apache.sling.caconfig.impl:1.6.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.caconfig.spi:1.4.0",
-      "start-order":"20"
-    }
-  ],
-  "configurations":{
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-caconfig":{
-      "user.mapping":[
-        "org.apache.sling.caconfig.impl=[sling-readall]"
-      ]
-    }
-  },
-  "repoinit:TEXT|true":"@file"
+    "repoinit:TEXT|true": "@file"
 }
\ No newline at end of file
diff --git a/feature/src/main/features/cms/cms.json b/feature/src/main/features/cms/cms.json
index 6c9a251a..396fe952 100644
--- a/feature/src/main/features/cms/cms.json
+++ b/feature/src/main/features/cms/cms.json
@@ -1,195 +1,166 @@
 {
-    "bundles": [
-        {
-            "id": "org.apache.sling:org.apache.sling.cms.api:${cms-version}",
-            "start-order": "20"
-        },
-        {
-            "id": "org.apache.sling:org.apache.sling.cms.ui:${cms-version}",
-            "start-order": "19"
-        },
-        {
-            "id": "org.apache.sling:org.apache.sling.cms.core:${cms-version}",
-            "start-order": "20"
-        },
-        {
-            "id": "org.apache.sling:org.apache.sling.cms.login:${cms-version}",
-            "start-order": "20"
-        }
-    ],
-    "configurations": {
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~auth": {
-            "pathPattern": "/home.*",
-            "editor": "/cms/auth/list.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbucket": {
-            "pathPattern": "\\/conf\\/[\\w\\d\\-_]+\\/[\\w\\d\\-_]+",
-            "editor": "/cms/config/bucket.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbuckets": {
-            "pathPattern": "\\/conf\\/[\\w\\d\\-_]+",
-            "editor": "/cms/config/buckets.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confedit": {
-            "pathPattern": "\\/conf\\/[\\w\\d\\-_]+\\/[\\w\\d\\-_]+\\/.+",
-            "editor": "/cms/config/edit.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confroot": {
-            "pathPattern": "\\/conf",
-            "editor": "/cms/config/configs.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~site": {
-            "pathPattern": "\\/content.*",
-            "editor": "/cms/site/content.html",
-            "resourceType": "sling:Site"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~sitecontent": {
-            "pathPattern": "\\/content.*",
-            "editor": "/cms/site/content.html",
-            "parentType": "sling:Site"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~sites": {
-            "pathPattern": "\\/content.*",
-            "editor": "/cms/site/sites.html",
-            "resourceType": "sling:OrderedFolder",
-            "service.ranking": 1
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~static": {
-            "pathPattern": "\\/static.*",
-            "editor": "/cms/static/content.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~taxonomy": {
-            "pathPattern": "\\/etc\\/taxonomy.*",
-            "editor": "/cms/taxonomy/list.html"
-        },
-        "org.apache.sling.cms.core.internal.ResourceEditorAssociation~ugc": {
-            "pathPattern": "\\/etc\\/usergenerated.*",
-            "editor": "/cms/usergenerated/content.html"
-        },
-        "org.apache.sling.cms.core.internal.rewriter.ReferenceMappingTransformerFactory": {
-            "mappedAttributes": [
-                "action",
-                "href",
-                "src"
-            ],
-            "enabledPaths": [
-                "/content"
-            ]
-        },
-        "org.apache.sling.cms.core.readability.impl.ReadabilityServiceImpl~en": {
-            "locale": "en",
-            "extraVowelExpression": ".+y$",
-            "vowelExpression": "a|e|i|o|u",
-            "isWordExpression": "[a-zA-Z]*",
-            "wordstems": [
-                "es",
-                "ed",
-                "ing",
-                "e"
-            ],
-            "complexityMin": 3
-        },
-        "org.apache.sling.engine.impl.auth.SlingAuthenticator": {
-            "sling.auth.requirements": [
-                "/bin",
-                "/cms",
-                "/libs",
-                "/apps",
-                "/etc",
-                "/home",
-                "/var"
-            ]
-        },
-        "org.apache.sling.event.jobs.QueueConfiguration~cmsqueue": {
-            "queue.name": "Sling CMS Jobs",
-            "queue.priority": "NORM",
-            "queue.maxparallel": 4624633867356078080,
-            "queue.topics": [
-                "cmsjob/*"
-            ],
-            "queue.retries": "10",
-            "queue.preferRunOnCreationInstance": true,
-            "queue.threadPoolSize": 0,
-            "queue.retrydelay": 2000,
-            "service.ranking": 0,
-            "queue.type": "UNORDERED",
-            "queue.keepJobs": true
-        },
-        "org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl": {
-            "resource.resolver.required.providernames": [
-                "JCR"
-            ],
-            "resource.resolver.manglenamespaces": true,
-            "resource.resolver.optimize.alias.resolution": true,
-            "resource.resolver.vanitypath.blacklist": [
-                ""
-            ],
-            "resource.resolver.vanity.precedence": false,
-            "resource.resolver.vanitypath.maxEntries": -1,
-            "resource.resolver.required.providers": [
-                ""
-            ],
-            "resource.resolver.enable.vanitypath": true,
-            "resource.resolver.providerhandling.paranoid": false,
-            "resource.resolver.allowDirect": true,
-            "resource.resolver.mapping": [
-                "/:/",
-                "/content/:/",
-                "/system/docroot/:/",
-                "/mnt/overlay/sling-cms/content:/cms"
-            ],
-            "resource.resolver.vanitypath.whitelist": [
-                ""
-            ],
-            "resource.resolver.map.location": "/etc/map",
-            "resource.resolver.vanitypath.maxEntries.startup": true,
-            "resource.resolver.map.observation": [
-                "/"
-            ],
-            "resource.resolver.default.vanity.redirect.status": 302,
-            "resource.resolver.vanitypath.bloomfilter.maxBytes": 1024000,
-            "resource.resolver.searchpath": [
-                "/apps",
-                "/libs"
-            ],
-            "resource.resolver.log.unclosed": true,
-            "resource.resolver.log.closing": false,
-            "resource.resolver.virtual": [
-                "/:/"
-            ]
-        },
-        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-error": {
-            "user.mapping": [
-                "org.apache.sling.cms.core:sling-cms-error=[sling-readall]",
-                "org.apache.sling.models.impl:sling-cms-error=[sling-readall]"
-            ]
-        },
-        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-metadata": {
-            "user.mapping": [
-                "org.apache.sling.cms.core:sling-cms-metadata=sling-cms-metadata"
-            ]
-        },
-        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-transformer": {
-            "user.mapping": [
-                "org.apache.sling.cms.transformer:sling-cms-transformer=sling-cms-transformer"
-            ]
-        },
-        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-ugc": {
-            "user.mapping": [
-                "org.apache.sling.cms.core:sling-cms-ugc=sling-cms-ugc"
-            ]
-        },
-        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-versionmgr": {
-            "user.mapping": [
-                "org.apache.sling.cms.core:sling-cms-versionmgr=sling-cms-versionmgr"
-            ]
-        },
-        "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-cms":{
-            "whitelist.bundles":[
-                "org.apache.sling.cms.core"
-            ],
-            "whitelist.name":"sling-cms"
-        }
-    },
-    "repoinit:TEXT|true": "@file"
-}
\ No newline at end of file
+  "bundles": [
+    {
+      "id": "org.apache.sling:org.apache.sling.cms.api:${cms-version}",
+      "start-order": "20"
+    },
+    {
+      "id": "org.apache.sling:org.apache.sling.cms.ui:${cms-version}",
+      "start-order": "19"
+    },
+    {
+      "id": "org.apache.sling:org.apache.sling.cms.core:${cms-version}",
+      "start-order": "20"
+    },
+    {
+      "id": "org.apache.sling:org.apache.sling.cms.login:${cms-version}",
+      "start-order": "20"
+    }
+  ],
+  "configurations": {
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~auth": {
+      "pathPattern": "/home.*",
+      "editor": "/cms/auth/list.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbucket": {
+      "pathPattern": "\\/conf\\/[\\w\\d\\-_]+\\/[\\w\\d\\-_]+",
+      "editor": "/cms/config/bucket.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confbuckets": {
+      "pathPattern": "\\/conf\\/[\\w\\d\\-_]+",
+      "editor": "/cms/config/buckets.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confedit": {
+      "pathPattern": "\\/conf\\/[\\w\\d\\-_]+\\/[\\w\\d\\-_]+\\/.+",
+      "editor": "/cms/config/edit.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~confroot": {
+      "pathPattern": "\\/conf",
+      "editor": "/cms/config/configs.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~site": {
+      "pathPattern": "\\/content.*",
+      "editor": "/cms/site/content.html",
+      "resourceType": "sling:Site"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~sitecontent": {
+      "pathPattern": "\\/content.*",
+      "editor": "/cms/site/content.html",
+      "parentType": "sling:Site"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~sites": {
+      "pathPattern": "\\/content.*",
+      "editor": "/cms/site/sites.html",
+      "resourceType": "sling:OrderedFolder",
+      "service.ranking": 1
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~static": {
+      "pathPattern": "\\/static.*",
+      "editor": "/cms/static/content.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~taxonomy": {
+      "pathPattern": "\\/etc\\/taxonomy.*",
+      "editor": "/cms/taxonomy/list.html"
+    },
+    "org.apache.sling.cms.core.internal.ResourceEditorAssociation~ugc": {
+      "pathPattern": "\\/etc\\/usergenerated.*",
+      "editor": "/cms/usergenerated/content.html"
+    },
+    "org.apache.sling.cms.core.internal.rewriter.ReferenceMappingTransformerFactory": {
+      "mappedAttributes": ["action", "href", "src"],
+      "enabledPaths": ["/content"]
+    },
+    "org.apache.sling.cms.core.readability.impl.ReadabilityServiceImpl~en": {
+      "locale": "en",
+      "extraVowelExpression": ".+y$",
+      "vowelExpression": "a|e|i|o|u",
+      "isWordExpression": "[a-zA-Z]*",
+      "wordstems": ["es", "ed", "ing", "e"],
+      "complexityMin": 3
+    },
+    "org.apache.sling.engine.impl.auth.SlingAuthenticator": {
+      "sling.auth.requirements": [
+        "/bin",
+        "/cms",
+        "/libs",
+        "/apps",
+        "/etc",
+        "/home",
+        "/var"
+      ]
+    },
+    "org.apache.sling.event.jobs.QueueConfiguration~cmsqueue": {
+      "queue.name": "Sling CMS Jobs",
+      "queue.priority": "NORM",
+      "queue.maxparallel": 4624633867356078080,
+      "queue.topics": ["cmsjob/*"],
+      "queue.retries": "10",
+      "queue.preferRunOnCreationInstance": true,
+      "queue.threadPoolSize": 0,
+      "queue.retrydelay": 2000,
+      "service.ranking": 0,
+      "queue.type": "UNORDERED",
+      "queue.keepJobs": true
+    },
+    "org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl": {
+      "resource.resolver.required.providernames": ["JCR"],
+      "resource.resolver.manglenamespaces": true,
+      "resource.resolver.optimize.alias.resolution": true,
+      "resource.resolver.vanitypath.blacklist": [""],
+      "resource.resolver.vanity.precedence": false,
+      "resource.resolver.vanitypath.maxEntries": -1,
+      "resource.resolver.required.providers": [""],
+      "resource.resolver.enable.vanitypath": true,
+      "resource.resolver.providerhandling.paranoid": false,
+      "resource.resolver.allowDirect": true,
+      "resource.resolver.mapping": [
+        "/:/",
+        "/content/:/",
+        "/system/docroot/:/",
+        "/mnt/overlay/sling-cms/content:/cms"
+      ],
+      "resource.resolver.vanitypath.whitelist": [""],
+      "resource.resolver.map.location": "/etc/map",
+      "resource.resolver.vanitypath.maxEntries.startup": true,
+      "resource.resolver.map.observation": ["/"],
+      "resource.resolver.default.vanity.redirect.status": 302,
+      "resource.resolver.vanitypath.bloomfilter.maxBytes": 1024000,
+      "resource.resolver.searchpath": ["/apps", "/libs"],
+      "resource.resolver.log.unclosed": true,
+      "resource.resolver.log.closing": false,
+      "resource.resolver.virtual": ["/:/"]
+    },
+    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-error": {
+      "user.mapping": [
+        "org.apache.sling.cms.core:sling-cms-error=[sling-readall]",
+        "org.apache.sling.models.impl:sling-cms-error=[sling-readall]"
+      ]
+    },
+    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-metadata": {
+      "user.mapping": [
+        "org.apache.sling.cms.core:sling-cms-metadata=sling-cms-metadata"
+      ]
+    },
+    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-transformer": {
+      "user.mapping": [
+        "org.apache.sling.cms.transformer:sling-cms-transformer=sling-cms-transformer"
+      ]
+    },
+    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-ugc": {
+      "user.mapping": ["org.apache.sling.cms.core:sling-cms-ugc=sling-cms-ugc"]
+    },
+    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-cms-versionmgr": {
+      "user.mapping": [
+        "org.apache.sling.cms.core:sling-cms-versionmgr=sling-cms-versionmgr"
+      ]
+    },
+    "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~sling-cms": {
+      "whitelist.bundles": [
+        "org.apache.sling.cms.core",
+        "org.apache.sling.serviceuser.webconsole"
+      ],
+      "whitelist.name": "sling-cms"
+    }
+  },
+  "repoinit:TEXT|true": "@file"
+}
diff --git a/feature/src/main/features/cms/dependencies.json b/feature/src/main/features/cms/dependencies.json
index fc84549a..c6670894 100644
--- a/feature/src/main/features/cms/dependencies.json
+++ b/feature/src/main/features/cms/dependencies.json
@@ -1,5 +1,13 @@
 {
   "bundles":[
+    {
+      "id":"jakarta.activation:jakarta.activation-api:2.1.0",
+      "start-order":"15"
+    },
+    {
+      "id":"jakarta.mail:jakarta.mail-api:2.1.0",
+      "start-order":"20"
+    },
     {
       "id":"com.github.livesense:org.liveSense.fragment.sun.misc:1.0.5",
       "start-order":"5"
@@ -33,11 +41,11 @@
       "start-order":"15"
     },
     {
-      "id":"org.apache.jackrabbit:oak-auth-external:${oak-version}",
+      "id":"org.apache.jackrabbit:oak-auth-external:${oak.version}",
       "start-order":"15"
     },
     {
-      "id":"org.apache.jackrabbit:oak-auth-ldap:${oak-version}",
+      "id":"org.apache.jackrabbit:oak-auth-ldap:${oak.version}",
       "start-order":"15"
     },
     {
@@ -60,10 +68,6 @@
       "id":"com.sun.mail:jakarta.mail:2.0.1",
       "start-order":"15"
     },
-    {
-      "id":"org.apache.commons:commons-text:${commons-text-version}",
-      "start-order":"15"
-    },
     {
       "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jasypt:1.9.3_1",
       "start-order":"15"
@@ -92,10 +96,6 @@
       "id":"org.apache.sling:org.apache.sling.rewriter:1.3.6",
       "start-order":"15"
     },
-    {
-      "id":"org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundle:1.3.5",
-      "start-order":"15"
-    },
     {
       "id":"org.apache.tika:tika-bundle:${tika-version}",
       "start-order":"15"
@@ -103,6 +103,10 @@
     {
       "id":"org.apache.sling:org.apache.sling.security:1.1.24",
       "start-order":"20"
+    },
+    {
+      "id":"org.apache.sling:org.apache.sling.discovery.standalone:1.0.2",
+      "start-order":"20"
     }
   ],
   "configurations":{
diff --git a/feature/src/main/features/distribution.json b/feature/src/main/features/cms/distribution.json
similarity index 100%
rename from feature/src/main/features/distribution.json
rename to feature/src/main/features/cms/distribution.json
diff --git a/feature/src/main/features/cms/healthchecks.json b/feature/src/main/features/cms/healthchecks.json
index 9aa7f53b..50846d33 100644
--- a/feature/src/main/features/cms/healthchecks.json
+++ b/feature/src/main/features/cms/healthchecks.json
@@ -1,68 +1,77 @@
 {
-    "configurations": {
-        "org.apache.felix.hc.generalchecks.JmxAttributeCheck~index": {
-            "mbean.name": "org.apache.jackrabbit.oak:name=async,type=IndexStats",
-            "hc.tags": [
-                "oak",
-                "system-resources"
-            ],
-            "hc.name": "Jackrabbit Oak - Index",
-            "attribute.value.constraint": "false",
-            "attribute.name": "Failing",
-            "statusForFailedContraint": "CRITICAL"
-        },
-        "org.apache.felix.hc.generalchecks.JmxAttributeCheck~jobqueue": {
-            "mbean.name": "org.apache.sling:type=queues,name=AllQueues",
-            "hc.tags": [
-                "sling",
-                "system-resources"
-            ],
-            "hc.name": "Sling - Job Queue",
-            "attribute.value.constraint": "< 1000",
-            "attribute.name": "NumberOfQueuedJobs",
-            "statusForFailedContraint": "WARN"
-        },
-        "org.apache.felix.hc.generalchecks.JmxAttributeCheck~luceneindex": {
-            "mbean.name": "org.apache.jackrabbit.oak:name=Lucene Index statistics,type=LuceneIndex",
-            "hc.tags": [
-                "oak",
-                "system-resources"
-            ],
-            "hc.name": "Jackrabbit Oak - Lucene Index",
-            "attribute.value.constraint": "false",
-            "attribute.name": "Failing",
-            "statusForFailedContraint": "CRITICAL"
-        },
-        "org.apache.felix.hc.generalchecks.JmxAttributeCheck~requestdurationcritical": {
-            "mbean.name": "org.apache.sling:type=engine,service=RequestProcessor",
-            "hc.tags": [
-                "sling",
-                "system-resources"
-            ],
-            "hc.name": "Sling - StdDev Request Duration (CRITICAL)",
-            "attribute.value.constraint": "matches (1|2|3|4)?\\d?\\d\\..*",
-            "attribute.name": "StandardDeviationDurationMsec",
-            "statusForFailedContraint": "CRITICAL"
-        },
-        "org.apache.felix.hc.generalchecks.JmxAttributeCheck~requestdurationwarn": {
-            "mbean.name": "org.apache.sling:type=engine,service=RequestProcessor",
-            "hc.tags": [
-                "sling",
-                "system-resources"
-            ],
-            "hc.name": "Sling - StdDev Request Duration (WARN)",
-            "attribute.value.constraint": "matches (1)?\\d?\\d\\..*",
-            "attribute.name": "StandardDeviationDurationMsec",
-            "statusForFailedContraint": "WARN"
-        },
-        "org.apache.sling.hc.support.DefaultLoginsHealthCheck~slingcms": {
-            "logins": [
-                "admin:admin"
-            ],
-            "hc.tags": [
-                "configuration"
-            ],
-            "hc.name": "Sling CMS - Default Logins Check"
-        }
+  "configurations": {
+    "org.apache.felix.hc.generalchecks.JmxAttributeCheck~index": {
+      "mbean.name": "org.apache.jackrabbit.oak:name=async,type=IndexStats",
+      "hc.tags": ["oak", "system-resources"],
+      "hc.name": "Jackrabbit Oak - Index",
+      "attribute.value.constraint": "false",
+      "attribute.name": "Failing",
+      "statusForFailedContraint": "CRITICAL"
+    },
+    "org.apache.felix.hc.generalchecks.JmxAttributeCheck~jobqueue": {
+      "mbean.name": "org.apache.sling:type=queues,name=AllQueues",
+      "hc.tags": ["sling", "system-resources"],
+      "hc.name": "Sling - Job Queue",
+      "attribute.value.constraint": "< 1000",
+      "attribute.name": "NumberOfQueuedJobs",
+      "statusForFailedContraint": "WARN"
+    },
+    "org.apache.felix.hc.generalchecks.JmxAttributeCheck~luceneindex": {
+      "mbean.name": "org.apache.jackrabbit.oak:name=Lucene Index statistics,type=LuceneIndex",
+      "hc.tags": ["oak", "system-resources"],
+      "hc.name": "Jackrabbit Oak - Lucene Index",
+      "attribute.value.constraint": "false",
+      "attribute.name": "Failing",
+      "statusForFailedContraint": "CRITICAL"
+    },
+    "org.apache.felix.hc.generalchecks.JmxAttributeCheck~requestdurationcritical": {
+      "mbean.name": "org.apache.sling:type=engine,service=RequestProcessor",
+      "hc.tags": ["sling", "system-resources"],
+      "hc.name": "Sling - StdDev Request Duration (CRITICAL)",
+      "attribute.value.constraint": "matches (1|2|3|4)?\\d?\\d\\..*",
+      "attribute.name": "StandardDeviationDurationMsec",
+      "statusForFailedContraint": "CRITICAL"
+    },
+    "org.apache.felix.hc.generalchecks.JmxAttributeCheck~requestdurationwarn": {
+      "mbean.name": "org.apache.sling:type=engine,service=RequestProcessor",
+      "hc.tags": ["sling", "system-resources"],
+      "hc.name": "Sling - StdDev Request Duration (WARN)",
+      "attribute.value.constraint": "matches (1)?\\d?\\d\\..*",
+      "attribute.name": "StandardDeviationDurationMsec",
+      "statusForFailedContraint": "WARN"
+    },
+    "org.apache.sling.hc.support.DefaultLoginsHealthCheck~slingcms": {
+      "logins": ["admin:admin"],
+      "hc.tags": ["configuration"],
+      "hc.name": "Sling CMS - Default Logins Check"
+    },
+    "org.apache.felix.hc.generalchecks.DsComponentsCheck~systemready": {
+      "hc.name": "DS Components Ready Check",
+      "hc.tags": ["systemalive", "systemready"],
+      "components.list": [
+        "org.apache.sling.cms.core.internal.servlets.CMSPageServlet",
+        "org.apache.sling.cms.core.internal.filters.CMSSecurityFilter"
+      ]
+    },
+    "org.apache.felix.hc.generalchecks.BundlesStartedCheck~systemready": {
+      "hc.name": "All bundles are up",
+      "hc.tags": ["systemalive", "systemready"]
+    },
+    "org.apache.sling.jcr.contentloader.hc.BundleContentLoadedCheck~default": {
+      "tags": ["systemalive"],
+      "includesRegex": ".*",
+      "useCriticalForNotLoaded": true,
+      "excludesRegex": ""
+    },
+    "org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter~startupandshutdown": {
+      "osgi.http.whiteboard.filter.regex": "(?!/system/).*",
+      "avoid404DuringStartup": true,
+      "service.ranking:Integer": "2147483647",
+      "includeExecutionResult": false,
+      "osgi.http.whiteboard.context.select": "(osgi.http.whiteboard.context.name=*)",
+      "tags": ["systemalive"],
+      "autoDisableFilter": true,
+      "responseTextFor503":"classpath:org.apache.sling.cms.ui:/content/startup/index.html"
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/feature/src/main/features/discovery.json b/feature/src/main/features/discovery.json
index 0f509de6..e8eac916 100644
--- a/feature/src/main/features/discovery.json
+++ b/feature/src/main/features/discovery.json
@@ -1,41 +1,35 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
-      "start-order":"20"
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.base:2.0.14",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.commons:1.0.28",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.oak:1.2.44",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.discovery.support:1.0.6",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.discovery":{
+            "user.mapping":[
+                "org.apache.sling.discovery.commons=[sling-discovery]",
+                "org.apache.sling.discovery.base=[sling-discovery]",
+                "org.apache.sling.discovery.oak=[sling-discovery]"
+            ]
+        }
     },
-    {
-      "id":"org.apache.sling:org.apache.sling.discovery.base:2.0.14",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.discovery.commons:1.0.28",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.discovery.oak:1.2.42",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.discovery.support:1.0.6",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.discovery.standalone:1.0.2",
-      "start-order":"20"
-    }
-  ],
-  "configurations":{
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.discovery":{
-      "user.mapping":[
-        "org.apache.sling.discovery.commons=[sling-discovery]",
-        "org.apache.sling.discovery.base=[sling-discovery]",
-        "org.apache.sling.discovery.oak=[sling-discovery]"
-      ]
-    },
-    "org.apache.sling.discovery.oak.Config":    {
-      "connectorPingTimeout":300
-    }
-  },
-  "repoinit:TEXT|true":"@file"
-}
\ No newline at end of file
+    "repoinit:TEXT|true": "@file"
+}
diff --git a/feature/src/main/features/event.json b/feature/src/main/features/event.json
index 1c7ae20e..e55f5dcd 100644
--- a/feature/src/main/features/event.json
+++ b/feature/src/main/features/event.json
@@ -1,21 +1,27 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
-      "start-order":"20"
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.event:4.3.12",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.event":{
+            "user.mapping":[
+                "org.apache.sling.event=[sling-event]",
+                "org.apache.sling.event.dea=[sling-event]"
+            ]
+        },
+        "org.apache.sling.commons.threads.impl.DefaultThreadPool.factory~sling-event":{
+            "name":"org-apache-sling-event",
+            "minPoolSize:Integer":"1",
+            "maxPoolSize:Integer":"5"
+        }
     },
-    {
-      "id":"org.apache.sling:org.apache.sling.event:4.3.2",
-      "start-order":"20"
-    }
-  ],
-  "configurations":{
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling.event":{
-      "user.mapping":[
-        "org.apache.sling.event=[sling-event]",
-        "org.apache.sling.event.dea=[sling-event]"
-      ]
-    }
-  },
-  "repoinit:TEXT|true":"@file"
-}
\ No newline at end of file
+    "repoinit:TEXT|true": "@file"
+}
diff --git a/feature/src/main/features/framework-properties.json b/feature/src/main/features/framework-properties.json
deleted file mode 100644
index c19657be..00000000
--- a/feature/src/main/features/framework-properties.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "variables": {
-        "sling.home": null
-    },
-    "framework-properties": {
-        "localIndexDir": "${sling.home}/repository/index",
-        "repository.home": "${sling.home}/repository",
-        "sling.jre.java.xml": ",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0. [...]
-        "felix.systempackages.calculate.uses": "true",
-        "org.osgi.framework.system.packages": "org.osgi.framework;version=\"1.9\",org.osgi.framework.dto;version=\"1.8\";uses:=\"org.osgi.dto\",org.osgi.framework.hooks.bundle;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.resolver;version=\"1.0\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.hooks.service;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.weaving;version=\"1.1\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.lau [...]
-        "felix.systempackages.substitution": "true",
-        "sling.jre-jpms": "{dollar}{felix.jpms.java.base}{dollar}{felix.jpms.java.compiler}{dollar}{felix.jpms.java.datatransfer}{dollar}{felix.jpms.java.desktop}{dollar}{felix.jpms.java.instrument}{dollar}{felix.jpms.java.logging}{dollar}{felix.jpms.java.management}{dollar}{felix.jpms.java.management.rmi}{dollar}{felix.jpms.java.naming}{dollar}{felix.jpms.java.net.http}{dollar}{felix.jpms.java.prefs}{dollar}{felix.jpms.java.rmi}{dollar}{felix.jpms.java.scripting}{dollar}{felix.jpms.java [...]
-        "sling.jpms.java.xml": "{dollar}{sling.jre.java.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
-        "sling.jre-1.8": ",java.applet;version=\"{dollar}{felix.detect.java.version}\",java.awt;version=\"{dollar}{felix.detect.java.version}\",java.awt.color;version=\"{dollar}{felix.detect.java.version}\",java.awt.datatransfer;version=\"{dollar}{felix.detect.java.version}\",java.awt.dnd;version=\"{dollar}{felix.detect.java.version}\",java.awt.event;version=\"{dollar}{felix.detect.java.version}\",java.awt.font;version=\"{dollar}{felix.detect.java.version}\",java.awt.geom;version=\"{doll [...]
-    }
-}
\ No newline at end of file
diff --git a/feature/src/main/features/groovy.json b/feature/src/main/features/groovy.json
index 217b9d28..559cb0b3 100644
--- a/feature/src/main/features/groovy.json
+++ b/feature/src/main/features/groovy.json
@@ -1,116 +1,92 @@
 {
-  "bundles":[
-    {
-      "id":"org.ow2.asm:asm:${asm-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.ow2.asm:asm-analysis:${asm-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.ow2.asm:asm-commons:${asm-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.ow2.asm:asm-tree:${asm-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.ow2.asm:asm-util:${asm-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundle:1.3.5",
-      "start-order":"15"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-ant:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-astbuilder:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-cli-picocli:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-console:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-datetime:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-docgenerator:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-groovydoc:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-groovysh:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-jmx:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-json:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-jsr223:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-macro:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-nio:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-servlet:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-sql:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-swing:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-templates:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-test:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-test-junit5:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-testng:${groovy-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.groovy:groovy-xml:${groovy-version}",
-      "start-order":"20"
-    }
-  ]
-}
\ No newline at end of file
+    "bundles": [
+        {
+            "id": "org.apache.groovy:groovy:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-ant:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-astbuilder:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-cli-picocli:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-console:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-datetime:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-docgenerator:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-groovydoc:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-groovysh:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-jmx:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-json:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-jsr223:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-macro:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-nio:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-servlet:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-sql:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-swing:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-templates:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-test:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-test-junit5:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-testng:${groovy.version}",
+            "start-order": "20"
+        },
+        {
+            "id": "org.apache.groovy:groovy-xml:${groovy.version}",
+            "start-order": "20"
+        }
+    ]
+}
diff --git a/feature/src/main/features/healthcheck.json b/feature/src/main/features/healthcheck.json
index 80b35644..64fb74a0 100644
--- a/feature/src/main/features/healthcheck.json
+++ b/feature/src/main/features/healthcheck.json
@@ -1,127 +1,96 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.healthcheck.core:2.0.14",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.healthcheck.generalchecks:3.0.2",
-      "start-order":"5"
-    },
-    {
-      "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.2",
-      "start-order":"5"
+    "bundles":[
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.core:2.2.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.generalchecks:3.0.8",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.hc.api:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.hc.support:1.0.10",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.felix.hc.generalchecks.BundlesStartedCheck":{
+            "hc.tags":[
+                "bundles"
+            ]
+        },
+        "org.apache.sling.jcr.contentloader.hc.BundleContentLoadedCheck":{
+            "hc.tags":[
+                "bundles",
+                "content-loading"
+            ]
+        },
+        "org.apache.felix.hc.generalchecks.CpuCheck":{
+            "hc.tags":[
+                "cpu",
+                "system-resources"
+            ],
+            "cpuPercentageThresholdWarn":95
+        },
+        "org.apache.felix.hc.generalchecks.DiskSpaceCheck":{
+            "hc.tags":[
+                "diskspace",
+                "system-resources"
+            ],
+            "diskPaths":[
+                "."
+            ]
+        },
+        "org.apache.felix.hc.generalchecks.FrameworkStartCheck":{
+            "hc.tags":[
+                "systemalive"
+            ],
+            "targetStartLevel:Integer":"30"
+        },
+        "org.apache.felix.hc.generalchecks.MemoryCheck":{
+            "hc.tags":[
+                "memory",
+                "system-resources"
+            ],
+            "heapUsedPercentageThresholdCritical":100,
+            "heapUsedPercentageThresholdWarn":95
+        },
+        "org.apache.felix.hc.generalchecks.ServicesCheck":{
+            "hc.tags":[
+                "systemalive"
+            ],
+            "services.list":[
+                "org.apache.sling.jcr.api.SlingRepository",
+                "org.apache.sling.engine.auth.Authenticator",
+                "org.apache.sling.api.resource.ResourceResolverFactory",
+                "org.apache.sling.api.servlets.ServletResolver",
+                "javax.script.ScriptEngineManager"
+            ]
+        },
+        "org.apache.felix.hc.generalchecks.ThreadUsageCheck":{
+            "hc.tags":[
+                "threads",
+                "cpu",
+                "system-resources"
+            ]
+        },
+        "org.apache.felix.hc.core.impl.servlet.HealthCheckExecutorServlet~default":{
+            "servletPath":"/system/health",
+	    "servletContextName":"org.osgi.service.http"
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~hc-support":{
+            "user.mapping":[
+                "org.apache.sling.hc.support=[sling-readall]"
+            ]
+        }
     }
-  ],
-  "configurations":{
-    "org.apache.felix.hc.core.impl.monitor.HealthCheckMonitor~systemready":{
-      "tags":[
-        "systemalive"
-      ],
-      "intervalInSec":"5",
-      "registerHealthyMarkerService":true,
-      "registerUnhealthyMarkerService":true
-    },
-    "org.apache.felix.hc.generalchecks.CpuCheck":{
-      "hc.tags":[
-        "cpu",
-        "system-resources"
-      ],
-      "cpuPercentageThresholdWarn":95
-    },
-    "org.apache.felix.hc.generalchecks.DiskSpaceCheck":{
-      "hc.tags":[
-        "diskspace",
-        "system-resources"
-      ],
-      "diskPaths":[
-        "."
-      ]
-    },
-    "org.apache.felix.hc.generalchecks.MemoryCheck":{
-      "hc.tags":[
-        "memory",
-        "system-resources"
-      ],
-      "heapUsedPercentageThresholdCritical":100,
-      "heapUsedPercentageThresholdWarn":95
-    },
-    "org.apache.felix.hc.generalchecks.ServicesCheck":{
-      "hc.tags":[
-        "systemalive",
-        "systemready"
-      ],
-      "services.list":[
-        "org.apache.sling.jcr.api.SlingRepository",
-        "org.apache.sling.engine.auth.Authenticator",
-        "org.apache.sling.api.resource.ResourceResolverFactory",
-        "org.apache.sling.api.servlets.ServletResolver",
-        "javax.script.ScriptEngineManager"
-      ]
-    },
-    "org.apache.felix.hc.generalchecks.DsComponentsCheck~systemready": {
-      "hc.name":"DS Components Ready Check",
-      "hc.tags":[
-        "systemalive",
-        "systemready"
-      ],
-      "components.list":[
-        "org.apache.sling.cms.core.internal.servlets.CMSPageServlet",
-        "org.apache.sling.cms.core.internal.filters.CMSSecurityFilter"
-      ]
-    },
-    "org.apache.felix.hc.generalchecks.BundlesStartedCheck~systemready":    {
-      "hc.name":"All bundles are up",
-      "hc.tags":[
-        "systemalive",
-        "systemready"
-      ]
-    },
-    "org.apache.felix.hc.generalchecks.FrameworkStartCheck":    {
-      "hc.tags":[
-        "systemalive",
-        "systemready"
-      ],
-      "targetStartLevel:Integer":30
-    },
-    "org.apache.felix.hc.generalchecks.ThreadUsageCheck":{
-      "hc.tags":[
-        "threads",
-        "cpu",
-        "system-resources"
-      ]
-    },
-    "org.apache.felix.hc.core.impl.filter.ServiceUnavailableFilter~startupandshutdown":{
-      "osgi.http.whiteboard.filter.regex":"(?!/system/).*",
-      "avoid404DuringStartup":true,
-      "service.ranking:Integer":2147483647,
-      "includeExecutionResult":false,
-      "osgi.http.whiteboard.context.select":"(osgi.http.whiteboard.context.name=*)",
-      "tags":[
-        "systemalive"
-      ],
-      "autoDisableFilter":true,
-      "responseTextFor503":"classpath:org.apache.sling.cms.ui:/content/startup/index.html"
-    },
-    "org.apache.sling.jcr.contentloader.hc.BundleContentLoadedCheck~default":{
-      "tags":[
-        "systemalive"
-      ],
-      "includesRegex":".*",
-      "useCriticalForNotLoaded":true,
-      "excludesRegex":""
-    },
-    "org.apache.felix.hc.core.impl.servlet.HealthCheckExecutorServlet~default":{
-      "servletPath":"/system/health"
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~hc-support":{
-      "user.mapping":[
-        "org.apache.sling.hc.support=sling-readall"
-      ]
-    }
-  }
-}
\ No newline at end of file
+}
diff --git a/feature/src/main/features/maintenance.json b/feature/src/main/features/maintenance.json
index 4decbc93..db73ab11 100644
--- a/feature/src/main/features/maintenance.json
+++ b/feature/src/main/features/maintenance.json
@@ -1,5 +1,5 @@
 {
     "prototype": {
-        "id": "org.apache.sling:org.apache.sling.jcr.maintenance:slingosgifeature:default:1.0.2"
+        "id": "org.apache.sling:org.apache.sling.jcr.maintenance:slingosgifeature:base:1.1.0"
     }
 }
diff --git a/feature/src/main/features/models-jacksonexporter.json b/feature/src/main/features/models-jacksonexporter.json
index 067be589..21acd8ea 100644
--- a/feature/src/main/features/models-jacksonexporter.json
+++ b/feature/src/main/features/models-jacksonexporter.json
@@ -1,28 +1,25 @@
+
 {
-  "bundles":[
-    {
-      "id":"com.fasterxml.jackson.core:jackson-annotations:${jackson-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"com.fasterxml.jackson.core:jackson-core:${jackson-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"com.fasterxml.jackson.core:jackson-databind:${jackson-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jackson-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.codehaus.woodstox:stax2-api:4.2.1",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.models.jacksonexporter:1.1.2",
-      "start-order":"20"
-    }
-  ]
-}
\ No newline at end of file
+    "bundles":[
+        {
+            "id":"com.fasterxml.jackson.core:jackson-annotations:${jackson.version}",
+            "start-order":"20"
+        },
+        {
+            "id":"com.fasterxml.jackson.core:jackson-core:${jackson.version}",
+            "start-order":"20"
+        },
+        {
+            "id":"com.fasterxml.jackson.core:jackson-databind:${jackson.version}",
+            "start-order":"20"
+        },
+        {
+            "id":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jackson.version}",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.models.jacksonexporter:1.1.4",
+            "start-order":"20"
+        }
+    ]
+}
diff --git a/feature/src/main/features/oak/oak_base.json b/feature/src/main/features/oak/oak_base.json
index 1c811a97..d64eb5c8 100644
--- a/feature/src/main/features/oak/oak_base.json
+++ b/feature/src/main/features/oak/oak_base.json
@@ -1,215 +1,215 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
-      "start-order":"10"
-    },
-    {
-      "id":"com.google.guava:guava:${guava-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:jackrabbit-data:${jackrabbit-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:${jackrabbit-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:jackrabbit-spi:${jackrabbit-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-api:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-blob-plugins:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-blob:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-commons:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-core-spi:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-core:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-jackrabbit-api:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-jcr:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-lucene:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-query-spi:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-security-spi:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-segment-tar:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-store-composite:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-store-document:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-store-spi:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.jackrabbit:oak-authorization-principalbased:${oak-version}",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.api:2.4.0",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.base:3.1.10",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.jcr-wrapper:2.0.0",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.registration:1.0.6",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.webdav:2.3.8",
-      "start-order":"15"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.3.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.resource:3.2.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.installer.provider.jcr:3.3.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.6.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.contentloader:2.5.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.10",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.22",
-      "start-order":"20"
+    "bundles":[
+        {
+            "id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
+            "start-order":"10"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-data:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-spi:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit.version}",
+            "start-order":"15"
+        },        
+        {
+            "id":"org.apache.jackrabbit:oak-api:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-blob-plugins:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-blob:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-commons:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-core-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-core:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-jackrabbit-api:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-jcr:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-lucene:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-query-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-shaded-guava:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-security-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-composite:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-document:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-authorization-principalbased:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.api:2.4.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.base:3.2.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
+            "start-order":"15"
+        },        
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jcr-wrapper:2.0.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.registration:1.0.6",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.webdav:2.3.8",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.4.0",
+            "start-order":"16"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.resource:3.2.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.provider.jcr:3.3.0",
+            "start-order":"20"
+        },    
+        {
+            "id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.7.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.contentloader:2.6.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:4.0.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.28",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.felix.jaas.ConfigurationSpi":{
+            "jaas.defaultRealmName":"jackrabbit.oak",
+            "jaas.configProviderName":"FelixJaasProvider"
+        },
+        "org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl":{
+            "org.apache.jackrabbit.oak.authentication.configSpiName":"FelixJaasProvider"
+        },
+        "org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName":{
+            "length:Integer":"21"
+        },
+        "org.apache.jackrabbit.oak.security.user.UserConfigurationImpl":{
+            "groupsPath":"/home/groups",
+            "defaultDepth":"1",
+            "importBehavior":"besteffort",
+            "usersPath":"/home/users"
+        },
+        "org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl":{
+            "importBehavior":"besteffort"
+        },
+        "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider":{
+            "userPrivilegeNames":[
+                "jcr:all"
+            ],
+            "groupPrivilegeNames":[
+                "jcr:read"
+            ],
+            "enabledActions":[
+                "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
+            ]
+        },
+        "org.apache.felix.jaas.Configuration.factory~GuestLoginModule":{
+            "jaas.controlFlag":"optional",
+            "jaas.classname":"org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
+            "jaas.ranking:Integer":"300"
+        },
+        "org.apache.felix.jaas.Configuration.factory~LoginModuleImpl":{
+            "jaas.controlFlag":"required",
+            "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl"
+        },
+        "org.apache.felix.jaas.Configuration.factory~TokenLoginModule":{
+            "jaas.controlFlag":"sufficient",
+            "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
+            "jaas.ranking:Integer":"200"
+        },
+        "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration":{
+            "enableAggregationFilter":true
+        },
+        "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.FilterProviderImpl":{
+            "path":"/home/users/system/sling"
+        },
+        "org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration":{
+            "requiredServicePids":[
+                "org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl",
+                "org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl",
+                "org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl",
+                "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider",
+                "org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl",
+                "org.apache.jackrabbit.oak.security.user.UserAuthenticationFactoryImpl",
+                "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration"
+            ]
+         },
+        "org.apache.sling.jackrabbit.usermanager.impl.resource.AuthorizableResourceProvider":{
+            "resources.for.nested.properties":true
+         }
     }
-  ],
-  "configurations":{
-    "org.apache.felix.jaas.ConfigurationSpi":{
-      "jaas.defaultRealmName":"jackrabbit.oak",
-      "jaas.configProviderName":"FelixJaasProvider"
-    },
-    "org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl":{
-      "org.apache.jackrabbit.oak.authentication.configSpiName":"FelixJaasProvider"
-    },
-    "org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName":{
-      "length:Integer":21
-    },
-    "org.apache.jackrabbit.oak.security.user.UserConfigurationImpl":{
-      "groupsPath":"/home/groups",
-      "defaultDepth":"1",
-      "importBehavior":"besteffort",
-      "usersPath":"/home/users"
-    },
-    "org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl":{
-      "importBehavior":"besteffort"
-    },
-    "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider":{
-      "userPrivilegeNames":[
-        "jcr:all"
-      ],
-      "groupPrivilegeNames":[
-        "jcr:read"
-      ],
-      "enabledActions":[
-        "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
-      ]
-    },
-    "org.apache.felix.jaas.Configuration.factory~GuestLoginModule":{
-      "jaas.controlFlag":"optional",
-      "jaas.classname":"org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
-      "jaas.ranking:Integer":300
-    },
-    "org.apache.felix.jaas.Configuration.factory~LoginModuleImpl":{
-      "jaas.controlFlag":"required",
-      "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl"
-    },
-    "org.apache.felix.jaas.Configuration.factory~TokenLoginModule":{
-      "jaas.controlFlag":"sufficient",
-      "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
-      "jaas.ranking:Integer":200
-    },
-    "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration":{
-      "enableAggregationFilter":true
-    },
-    "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.FilterProviderImpl":{
-      "path":"/home/users/system/sling"
-    },
-    "org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration":{
-      "requiredServicePids":[
-        "org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl",
-        "org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl",
-        "org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl",
-        "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider",
-        "org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl",
-        "org.apache.jackrabbit.oak.security.user.UserAuthenticationFactoryImpl",
-        "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration"
-      ]
-    }
-  }
-}
\ No newline at end of file
+}
diff --git a/feature/src/main/features/scripting.json b/feature/src/main/features/scripting.json
index 7c6608fe..f7e7d616 100644
--- a/feature/src/main/features/scripting.json
+++ b/feature/src/main/features/scripting.json
@@ -1,114 +1,111 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.antlr:antlr4-runtime:4.9.3",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino:1.7.14_2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.api:${org-apache-sling-scripting-api-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.spi:1.0.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.core:2.4.8",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.el-api:1.0.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.javascript:3.1.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.jsp-api:1.0.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.jsp.taglib:${org-apache-sling-scripting-jsp-taglib-version}",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.jsp:2.6.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.2-1.4.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.14-1.4.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.6",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.sightly.repl:1.0.10",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.6-1.4.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.18-1.4.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.freemarker:1.0.4",
-      "start-order":"20"
-    },
-    {
-      "id":"org.freemarker:freemarker:2.3.31",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.scripting.thymeleaf:2.0.2",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.thymeleaf:3.0.15.RELEASE_1",
-      "start-order":"20"
-    },
-    {
-      "id":"org.attoparser:attoparser:2.0.5.RELEASE",
-      "start-order":"20"
-    },
-    {
-      "id":"org.unbescape:unbescape:1.1.6.RELEASE",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.ognl:3.3.2_1",
-      "start-order":"20"
-    },
-    {
-      "id":"org.javassist:javassist:3.29.0-GA",
-      "start-order":"20"
+    "bundles":[
+        {
+            "id":"org.antlr:antlr4-runtime:4.7.1",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino:1.7.14_2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.api:2.2.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.spi:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.core:2.4.8",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.el-api:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.javascript:3.1.4",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp-api:1.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp.taglib:2.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp:2.6.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.2-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.14-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.8",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.6-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.22-1.4.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.freemarker:1.0.4",
+            "start-order":"20"
+        },
+        {
+            "id": "org.freemarker:freemarker:2.3.32",
+            "start-order": "20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.scripting.thymeleaf:2.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.thymeleaf:3.0.15.RELEASE_1",
+            "start-order":"20"
+        },
+        {
+            "id":"org.attoparser:attoparser:2.0.7.RELEASE",
+            "start-order":"20"
+        },
+        {
+            "id":"org.unbescape:unbescape:1.1.6.RELEASE",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.ognl:3.3.4_1",
+            "start-order":"20"
+        },
+        {
+            "id":"org.javassist:javassist:3.29.2-GA",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.scripting.core.impl.ScriptCacheImpl":{
+            "org.apache.sling.scripting.cache.additional_extensions":[
+                "js"
+            ]
+        },
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~scripting":{
+            "user.mapping":[
+                "org.apache.sling.scripting.core=[sling-search-path-reader]",
+                "org.apache.sling.scripting.sightly.js.provider=[sling-search-path-reader]",
+                "org.apache.sling.scripting.thymeleaf=[sling-search-path-reader]"
+            ]
+        }
     }
-  ],
-  "configurations":{
-    "org.apache.sling.scripting.core.impl.ScriptCacheImpl":{
-      "org.apache.sling.scripting.cache.additional_extensions":[
-        "js"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~scripting":{
-      "user.mapping":[
-        "org.apache.sling.scripting.core=[sling-search-path-reader]",
-        "org.apache.sling.scripting.sightly.js.provider=[sling-search-path-reader]",
-        "org.apache.sling.scripting.thymeleaf=[sling-search-path-reader]"
-      ]
-    }
-  }
-}
\ No newline at end of file
+}
diff --git a/feature/src/main/features/thumbnails.json b/feature/src/main/features/thumbnails.json
deleted file mode 100644
index f41de8fb..00000000
--- a/feature/src/main/features/thumbnails.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  "prototype": {
-    "id": "org.apache.sling:org.apache.sling.thumbnails:slingosgifeature:default:1.0.0"
-  },
-  "bundles": [
-    {
-      "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.batik:1.14_1",
-      "start-order": "20"
-    },
-    {
-      "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.bcel:5.2_4",
-      "start-order": "20"
-    },
-    {
-      "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.xalan:2.7.2_3",
-      "start-order": "20"
-    },
-    {
-      "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.xerces:2.12.2_1",
-      "start-order": "20"
-    },
-    {
-      "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlresolver:1.2_5",
-      "start-order": "20"
-    }
-  ],
-  "configurations": {
-    "org.apache.sling.thumbnails.internal.ThumbnailSupportImpl": {
-      "errorSuffix": "/sling-cms-thumbnail.png",
-      "errorResourcePath": "/static/sling-cms/thumbnails/file.png",
-      "persistableTypes": ["sling:File=jcr:content/renditions"],
-      "supportedTypes": [
-        "nt:file=jcr:content/jcr:mimeType",
-        "sling:File=jcr:content/jcr:mimeType"
-      ]
-    },
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~sling-thumbnails": {
-      "user.mapping": [
-        "org.apache.sling.thumbnails:sling-thumbnails=[sling-thumbnails]"
-      ]
-    }
-  }
-}
diff --git a/feature/src/main/features/validation.json b/feature/src/main/features/validation.json
index fada1c93..fe32d27c 100644
--- a/feature/src/main/features/validation.json
+++ b/feature/src/main/features/validation.json
@@ -1,23 +1,24 @@
+
 {
-  "bundles":[
-    {
-      "id":"org.apache.sling:org.apache.sling.models.validation-impl:1.1.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.validation.api:1.0.0",
-      "start-order":"20"
-    },
-    {
-      "id":"org.apache.sling:org.apache.sling.validation.core:1.0.4",
-      "start-order":"20"
+    "bundles":[
+        {
+            "id":"org.apache.sling:org.apache.sling.models.validation-impl:1.1.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.validation.api:1.0.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.validation.core:1.0.4",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~validation":{
+            "user.mapping":[
+                "org.apache.sling.validation.core=[sling-search-path-reader]"
+            ]
+        }
     }
-  ],
-  "configurations":{
-    "org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended~validation":{
-      "user.mapping":[
-        "org.apache.sling.validation.core=[sling-search-path-reader]"
-      ]
-    }
-  }
 }
\ No newline at end of file
diff --git a/feature/src/main/features/webconsole.json b/feature/src/main/features/webconsole.json
index af4a9b8e..179362d0 100644
--- a/feature/src/main/features/webconsole.json
+++ b/feature/src/main/features/webconsole.json
@@ -1,27 +1,27 @@
 {
     "bundles": [
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole:${org.apache.felix.webconsole-version}",
+            "id":"org.apache.felix:org.apache.felix.webconsole:4.9.6",
             "start-order":"5"
         },    
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.1.0",
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.3.0",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.1.8",
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.2.0",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.0.10",
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.1.0",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.obr:1.0.4",
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.obr:1.1.0",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.0.4",
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.1.0",
             "start-order":"5"
         },
         {
@@ -33,11 +33,19 @@
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.2",
+            "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.2.0",
             "start-order":"5"
-        },       
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.webconsoleplugin:1.1.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.http.inventoryprinter:1.0.0",
+            "start-order":"5"
+        },
         {
-            "id":"org.apache.sling:org.apache.sling.extensions.webconsolesecurityprovider:1.2.4",
+            "id":"org.apache.sling:org.apache.sling.extensions.webconsolesecurityprovider:1.2.8",
             "start-order":"15"
         },
         {
@@ -49,7 +57,7 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.installer.console:1.1.0",
+            "id":"org.apache.sling:org.apache.sling.installer.console:1.1.2",
             "start-order":"20"
         }
     ],
@@ -63,4 +71,4 @@
             "whitelist.name":"webconsole"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/pom.xml b/pom.xml
index e0b5439a..61c37bea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,26 +29,40 @@
     <maven.compiler.source>${sling.cms.java.version}</maven.compiler.source>
     <maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
     <project.build.outputTimestamp>1675173380</project.build.outputTimestamp>
+
+    <!-- Versions Synced with Starter -->
+
+    <!-- renovate: depName=org.ow2.asm:asm -->
+    <asm.version>9.6</asm.version>
+    <!-- renovate: depName=org.apache.jackrabbit:jackrabbit-jcr-commons -->
+    <jackrabbit.version>2.20.12</jackrabbit.version>
+    <!-- renovate: depName=org.apache.jackrabbit:oak-api -->
+    <oak.version>1.58.0</oak.version>
+    <!-- renovate: depName=org.slf4j:slf4j-api -->
+    <slf4j.version>1.7.36</slf4j.version>
+    <!-- renovate: depName=com.composum.nodes:composum-nodes-commons -->
+    <composum.nodes.version>4.2.2</composum.nodes.version>
+    <!-- renovate: depName=com.fasterxml.jackson.core:jackson-core -->
+    <jackson.version>2.15.3</jackson.version>
+    <!-- renovate: depName=org.codehaus.groovy:groovy -->
+    <groovy.version>4.0.10</groovy.version>
+
+    <!-- End Versions Synced with Starter -->
+
     <!-- Common Versions -->
     <cms-version>${project.parent.version}</cms-version>
-    <asm-version>9.4</asm-version>
     <cocoon-serializers-charsets-version>1.0.2</cocoon-serializers-charsets-version>
     <commons-io-version>2.11.0</commons-io-version>
     <commons-lang3-version>3.12.0</commons-lang3-version>
     <commons-text-version>1.10.0</commons-text-version>
-    <composum-nodes-version>4.1.2</composum-nodes-version>
     <geronimo-atinject_1-0_spec-version>1.2</geronimo-atinject_1-0_spec-version>
-    <groovy-version>3.0.13</groovy-version>
     <httpclient-version>4.5.13</httpclient-version>
-    <jackrabbit-version>2.21.13</jackrabbit-version>
-    <jackson-version>2.14.0</jackson-version>
     <javax-annotation-api-version>1.3.2</javax-annotation-api-version>
     <jsoup-version>1.15.3</jsoup-version>
     <jsp-api-version>2.0</jsp-api-version>
     <jstl-version>1.2_1</jstl-version>
     <mockito-core-version>4.6.1</mockito-core-version>
-    <oak-version>1.44.0</oak-version>
-    <org-apache-sling-api-version>2.25.4</org-apache-sling-api-version>
+    <org-apache-sling-api-version>2.27.0</org-apache-sling-api-version>
     <org-apache-sling-caconfig-api-version>1.3.0</org-apache-sling-caconfig-api-version>
     <org-apache-sling-commons-johnzon-version>1.2.14</org-apache-sling-commons-johnzon-version>
     <org-apache-sling-engine-version>2.9.0</org-apache-sling-engine-version>
@@ -59,10 +73,8 @@
     <org-apache-sling-testing-sling-mock-junit4-version>3.3.0</org-apache-sling-testing-sling-mock-junit4-version>
     <org.apache.felix.webconsole-version>4.8.2</org.apache.felix.webconsole-version>
     <osgi-annotation-version>8.1.0</osgi-annotation-version>
-    <guava-version>15.0</guava-version>
     <pdfbox-version>2.0.26</pdfbox-version>
     <servlet-api-version>2.5</servlet-api-version>
-    <slf4j-version>1.7.36</slf4j-version>
     <tika-version>1.28.4</tika-version>
   </properties>
   <modules>
@@ -117,25 +129,25 @@
       <dependency>
         <groupId>org.apache.jackrabbit</groupId>
         <artifactId>oak-jackrabbit-api</artifactId>
-        <version>${oak-version}</version>
+        <version>${oak.version}</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
         <groupId>org.apache.jackrabbit</groupId>
         <artifactId>jackrabbit-jcr-commons</artifactId>
-        <version>${jackrabbit-version}</version>
+        <version>${jackrabbit.version}</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
         <groupId>org.apache.jackrabbit</groupId>
         <artifactId>oak-core</artifactId>
-        <version>${oak-version}</version>
+        <version>${oak.version}</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
         <groupId>org.apache.jackrabbit</groupId>
         <artifactId>oak-jcr</artifactId>
-        <version>${oak-version}</version>
+        <version>${oak.version}</version>
         <scope>provided</scope>
       </dependency>
       <!-- Sling Dependencies -->
diff --git a/reference/pom.xml b/reference/pom.xml
index 02ef5b92..bff298cc 100644
--- a/reference/pom.xml
+++ b/reference/pom.xml
@@ -212,7 +212,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-lucene</artifactId>
-            <version>${oak-version}</version>
+            <version>${oak.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>