Merge branch 'master' of git@github.com:apache/sling-org-apache-sling-servlets-annotations.git
diff --git a/.gitignore b/.gitignore
index 4c06d21..24334bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,17 @@
 /target/
 /.project
 /.settings/
-/.classpath
\ No newline at end of file
+/.classpath
+.idea
+.metadata
+.externalToolBuilders
+maven-eclipse.xml
+*.swp
+*.iml
+*.ipr
+*.iws
+*.bak
+.vlt
+.DS_Store
+jcr.log
+atlassian-ide-plugin.xml
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..0fa18e5
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,22 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+Apache Software Foundation Code of Conduct
+====
+
+Being an Apache project, Apache Sling adheres to the Apache Software Foundation's [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ac82a1a
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,24 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+Contributing
+====
+
+Thanks for choosing to contribute!
+
+You will find all the necessary details about how you can do this at https://sling.apache.org/contributing.html.
diff --git a/README.md b/README.md
index 07cfa58..39f536b 100644
--- a/README.md
+++ b/README.md
@@ -6,4 +6,13 @@
 
 This module is part of the [Apache Sling](https://sling.apache.org) project.
 
-OSGi DS 1.4 component property type annotations for Sling servlets and filters
+OSGi DS 1.4 component property type annotations for Sling servlets and filters|
+
+These annotations are documented on the following Apache Sling website pages:
+
+  * https://sling.apache.org/documentation/the-sling-engine/servlets.html
+  * https://sling.apache.org/documentation/the-sling-engine/filters.html
+
+And the code of the companion 
+[integration tests module](https://github.com/apache/sling-org-apache-sling-servlets-annotations-it) can help
+understand the details.
diff --git a/pom.xml b/pom.xml
index 959c104..0ec34c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
     </parent>
 
     <artifactId>org.apache.sling.servlets.annotations</artifactId>
-    <version>1.1.1-SNAPSHOT</version>
+    <version>1.2.5-SNAPSHOT</version>
 
     <name>Apache Sling Servlet Annotations</name>
     <description>
@@ -58,7 +58,7 @@
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
             <!-- https://issues.apache.org/jira/browse/SLING-6249, only for link in javadoc -->
-            <version>2.16.0</version>
+            <version>2.20.1-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/src/main/java/org/apache/sling/servlets/annotations/SlingServletResourceTypes.java b/src/main/java/org/apache/sling/servlets/annotations/SlingServletResourceTypes.java
index 053d66e..1389a6a 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/SlingServletResourceTypes.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/SlingServletResourceTypes.java
@@ -22,7 +22,7 @@
  * Component Property Type (as defined by OSGi DS 1.4) for Sling Servlets.
  * Takes care of writing the relevant service properties as being used by the Sling Servlet Resolver ({@link ServletResolverConstants})
  * to register the annotated servlet component as Sling servlet for a specific resource type.
- * 
+ *
  * @see <a href="https://sling.apache.org/documentation/the-sling-engine/servlets.html">Sling Servlets</a>
  * @see ServletResolverConstants
  * @see <a href="https://github.com/apache/felix/blob/trunk/tools/org.apache.felix.scr.annotations/src/main/java/org/apache/felix/scr/annotations/sling/SlingServlet.java">Felix SCR annotation</a>
@@ -43,18 +43,31 @@
      * @return the resource type(s)
      */
     String[] resourceTypes();
-    
+
+    /**
+     * The resource super type from which the servlet inherits (value is "sling.servlet.resourceSuperType"). The default value of this
+     * registration property is "sling/bundle/resource".
+     *
+     * <p>In order for this property to be taken into consideration, the {@code org.apache.sling.servlets.resolver} bundle needs to be
+     * deployed on the system, version 2.5.0 or above.
+     *
+     * @return the resource super type
+     * @see ServletResolverConstants#SLING_SERVLET_RESOURCE_SUPER_TYPE
+     * @see <a href="https://sling.apache.org/documentation/the-sling-engine/resources.html#resource-types">Apache Sling Resource Types</a>
+     */
+    String resourceSuperType() default "sling/bundle/resource";
+
     /**
      * One ore more request URL selectors supported by the servlet. The
      * selectors must be configured in the order as they would be specified in the URL that
      * is as a list of dot-separated strings such as <em>print.a4</em>.
-     * In case this is not empty the first selector(s) (i.e. the one on the left in the URL) must match, 
+     * In case this is not empty the first selector(s) (i.e. the one on the left in the URL) must match,
      * otherwise the servlet is not executed. After that may follow arbitrarily many non-registered selectors.
      * @return the selector(s)
      * @see ServletResolverConstants#SLING_SERVLET_SELECTORS
      */
     String[] selectors() default {};
-    
+
     /**
      * The request URL extensions supported by the servlet.
      * <p>
@@ -63,9 +76,9 @@
      * @see ServletResolverConstants#SLING_SERVLET_EXTENSIONS
      */
     String[] extensions() default {};
-    
+
     /**
-     * The request methods supported by the servlet. The value may be one of the HTTP 
+     * The request methods supported by the servlet. The value may be one of the HTTP
      * methods or "*" for all methods.
      * <p>
      * If this is not set (i.e. empty array) it is assumed to be {@code GET} and {@code HEAD}.