diff --git a/core/pom.xml b/core/pom.xml
index 5f37ba3..529d433 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -72,6 +72,16 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.converter</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.function</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.tracker</artifactId>
             <scope>compile</scope>
         </dependency>
@@ -162,7 +172,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
+            <artifactId>oak-jackrabbit-api</artifactId>
             <scope>compile</scope>
         </dependency>
         <!-- for org.apache.jackrabbit.oak.jcr.observation.filter used in https://github.com/apache/sling-org-apache-sling-jcr-resource/blob/18edb8d7e7106c1e1e3333b89bf4d2a49c686e3b/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java#L33-->
@@ -217,11 +227,6 @@
             <artifactId>org.apache.sling.fsresource</artifactId>
             <scope>compile</scope>
         </dependency>
-        <dependency>
-            <groupId>commons-beanutils</groupId>
-            <artifactId>commons-beanutils</artifactId>
-            <scope>compile</scope>
-        </dependency>
 
         <dependency>
             <groupId>javax.servlet</groupId>
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java b/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java
index a57885c..c75f041 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java
@@ -29,6 +29,7 @@
 import org.apache.sling.api.scripting.SlingScript;
 import org.apache.sling.api.scripting.SlingScriptHelper;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
@@ -61,8 +62,8 @@
     }
 
     @Override
-    @SuppressWarnings({ "unchecked", "null" })
-    public <ServiceType> ServiceType getService(@NotNull final Class<ServiceType> serviceType) {
+    @SuppressWarnings("unchecked")
+    public @Nullable <ServiceType> ServiceType getService(@NotNull final Class<ServiceType> serviceType) {
         ServiceReference serviceReference = this.bundleContext.getServiceReference(serviceType.getName());
         if (serviceReference != null) {
             return (ServiceType) this.bundleContext.getService(serviceReference);
@@ -73,7 +74,7 @@
 
     @Override
     @SuppressWarnings("unchecked")
-    public <ServiceType> ServiceType[] getServices(@NotNull final Class<ServiceType> serviceType, final String filter) {
+    public @Nullable <ServiceType> ServiceType[] getServices(@NotNull final Class<ServiceType> serviceType, final String filter) {
         try {
             ServiceReference[] serviceReferences = this.bundleContext.getServiceReferences(serviceType.getName(),
                     filter);
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java b/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java
index db3f39c..56cd2d1 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java
@@ -41,7 +41,6 @@
 import javax.jcr.nodetype.PropertyDefinition;
 import javax.jcr.nodetype.PropertyDefinitionTemplate;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.commons.cnd.CndImporter;
 import org.apache.jackrabbit.commons.cnd.CompactNodeTypeDefReader;
 import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory;
@@ -125,11 +124,10 @@
               new TemplateBuilderFactory(new DummyNodeTypeManager(), valueFactory, namespaceRegistry);
 
       for (String nodeTypeResource : nodeTypeResources) {
-          InputStream is = classLoader.getResourceAsStream(nodeTypeResource);
-          if (is == null) {
-              continue;
-          }
-          try {
+          try (InputStream is = classLoader.getResourceAsStream(nodeTypeResource)) {
+              if (is == null) {
+                  continue;
+              }
               Reader reader = new InputStreamReader(is);
               CompactNodeTypeDefReader<NodeTypeTemplate, NamespaceRegistry> cndReader
                       = new CompactNodeTypeDefReader<NodeTypeTemplate, NamespaceRegistry>(reader, nodeTypeResource, factory);
@@ -148,9 +146,6 @@
           catch (Throwable ex) {
               log.warn("Unable to parse node type definition: " + nodeTypeResource, ex);
           }
-          finally {
-              IOUtils.closeQuietly(is);
-          }
       }
 
     }
@@ -197,11 +192,10 @@
         Iterator<String> nodeTypeResourcesIterator = nodeTypeResources.iterator();
         while (nodeTypeResourcesIterator.hasNext()) {
             String nodeTypeResource = nodeTypeResourcesIterator.next();
-            InputStream is = classLoader.getResourceAsStream(nodeTypeResource);
-            if (is == null) {
-                continue;
-            }
-            try {
+            try (InputStream is = classLoader.getResourceAsStream(nodeTypeResource)) {
+                if (is == null) {
+                    continue;
+                }
                 Reader reader = new InputStreamReader(is);
                 CndImporter.registerNodeTypes(reader, nodeTypeResource, nodeTypeManager, namespaceRegistry, valueFactory, true);
                 nodeTypeResourcesIterator.remove();
@@ -211,9 +205,6 @@
                     log.warn("Unable to register node type: " + nodeTypeResource, ex);
                 }
             }
-            finally {
-                IOUtils.closeQuietly(is);
-            }
         }
     }
 
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
index de0badf..687ea78 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
@@ -616,7 +616,7 @@
      * @param classpathResourceOrFile Classpath resource URL or file path
      * @param processor Processes input stream
      */
-    @SuppressWarnings("null")
+    @SuppressWarnings({ "null", "deprecation" })
     private <T> @NotNull T processInputStreamFromClasspathOrFilesystem(@NotNull String classpathResourceOrFile, @NotNull Function<InputStream,T> processor) {
         InputStream is = ContentLoader.class.getResourceAsStream(classpathResourceOrFile);
         if (is == null) {
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java b/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java
index fd67797..ad0ba1e 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java
@@ -19,5 +19,5 @@
 /**
  * Mock implementation of selected Sling APIs.
  */
-@org.osgi.annotation.versioning.Version("3.3.0")
+@org.osgi.annotation.versioning.Version("3.3.1")
 package org.apache.sling.testing.mock.sling;
diff --git a/junit4/pom.xml b/junit4/pom.xml
index 612e10f..2ee1413 100644
--- a/junit4/pom.xml
+++ b/junit4/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -37,13 +37,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
diff --git a/junit5/pom.xml b/junit5/pom.xml
index e179914..fefc68e 100644
--- a/junit5/pom.xml
+++ b/junit5/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -37,13 +37,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index c6eb64e..629a48b 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -23,26 +23,26 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling-bundle-parent</artifactId>
-        <version>46</version>
+        <version>47</version>
         <relativePath />
     </parent>
 
     <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-    <version>3.2.3-SNAPSHOT</version>
+    <version>3.3.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache Sling Testing Sling Mock Parent</name>
     <description>Mock implementation of selected Sling APIs.</description>
 
     <properties>
-        <osgi-mock.version>3.2.2</osgi-mock.version>
-        <jcr-mock.version>1.5.4</jcr-mock.version>
-        <resourceresolver-mock.version>1.2.6</resourceresolver-mock.version>
+        <osgi-mock.version>3.3.0-SNAPSHOT</osgi-mock.version>
+        <jcr-mock.version>1.6.0-SNAPSHOT</jcr-mock.version>
+        <resourceresolver-mock.version>1.3.0-SNAPSHOT</resourceresolver-mock.version>
         <logging-mock.version>2.0.0</logging-mock.version>
         <servlet-helpers.version>1.4.2</servlet-helpers.version>
         <resourcebuilder.version>1.0.4</resourcebuilder.version>
 
-        <project.build.outputTimestamp>2021-12-02T20:14:16Z</project.build.outputTimestamp>
+        <project.build.outputTimestamp>2022-05-05T13:26:54Z</project.build.outputTimestamp>
     </properties>
 
     <dependencies>
@@ -84,33 +84,43 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.converter</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.function</artifactId>
+            <version>1.1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.tracker</artifactId>
-            <version>1.5.1</version>
+            <version>1.5.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.api</artifactId>
-            <version>1.3.6</version>
+            <version>1.3.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.impl</artifactId>
-            <version>1.4.6</version>
+            <version>1.4.14</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.16.4</version>
+            <version>2.22.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.resourceresolver</artifactId>
-            <version>1.5.34</version>
+            <version>1.7.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.serviceusermapper</artifactId>
-            <version>1.3.6</version>
+            <version>1.4.4</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -120,7 +130,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.resource</artifactId>
-            <version>3.0.8</version>
+            <version>3.0.18</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -130,22 +140,22 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.core</artifactId>
-            <version>2.0.54</version>
+            <version>2.3.2</version>
             <exclusions>
-              <exclusion>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.core</artifactId>
-              </exclusion>
-              <exclusion>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.compendium</artifactId>
-              </exclusion>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.compendium</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.mime</artifactId>
-            <version>2.1.10</version>
+            <version>2.2.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.johnzon</groupId>
@@ -160,12 +170,12 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.settings</artifactId>
-            <version>1.3.8</version>
+            <version>1.3.10</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.i18n</artifactId>
-            <version>2.5.10</version>
+            <version>2.5.14</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -175,7 +185,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.xss</artifactId>
-            <version>2.0.0</version>
+            <version>2.2.6</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -184,19 +194,34 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>2.16.0</version>
+            <artifactId>oak-jackrabbit-api</artifactId>
+            <version>1.22.5</version>
+            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-jcr</artifactId>
-            <version>1.8.2</version>
+            <version>1.22.5</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.service.metatype.annotations</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.annotation</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>jcl-over-slf4j</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
-           <version>4.1</version>
+           <version>4.2</version>
         </dependency>
         <dependency>
             <groupId>commons-collections</groupId>
@@ -206,7 +231,7 @@
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.5</version>
+            <version>2.6</version>
         </dependency>
         <dependency>
             <groupId>commons-lang</groupId>
@@ -232,28 +257,23 @@
         <dependency>
             <groupId>org.apache.jackrabbit.vault</groupId>
             <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.1.44</version>
+            <version>3.2.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.fsresource</artifactId>
             <version>2.2.0</version>
         </dependency>
-        <dependency>
-            <groupId>commons-beanutils</groupId>
-            <artifactId>commons-beanutils</artifactId>
-            <version>1.8.3</version>
-        </dependency>
 
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
-            <version>3.7.0</version>
+            <version>4.5.1</version>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-junit-jupiter</artifactId>
-            <version>3.7.0</version>
+            <version>4.5.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
diff --git a/pom.xml b/pom.xml
index b494ec2..e933c8f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>parent/pom.xml</relativePath>
     </parent>
 
diff --git a/relocate/pom.xml b/relocate/pom.xml
index 0a7e4d0..870bec1 100644
--- a/relocate/pom.xml
+++ b/relocate/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
