diff --git a/.asf.yaml b/.asf.yaml
index 7b182c0..d232404 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -1,40 +1,53 @@
-#   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
+# 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
 #
-#   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.
+#     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.
+#
+
 github:
   description: "Apache UIMA Parent POM"
-  homepage: https://uima.apache.org
-notifications:
+  homepage: https://uima.apache.org/
+  dependabot_alerts:  true
+  dependabot_updates: false
+  notifications:
     commits:      commits@uima.apache.org
     issues:       dev@uima.apache.org
     pullrequests: dev@uima.apache.org
+    jobs:         dev@uima.apache.org
     jira_options: link label
-github:
+  labels:
+  - apache
+  - uima
+  - text-analysis
   features:
-    # Enable wiki for documentation
     wiki: false
-    # Enable issue management
     issues: false
-    # Enable projects for project management boards
     projects: false
   enabled_merge_buttons:
-    # enable squash button:
     squash:  true
-    # enable merge button:
     merge:   true
-    # disable rebase button:
     rebase:  false
+  del_branch_on_merge: true
+  protected_branches:
+    main:
+     required_status_checks:
+        strict: true
+        contexts:
+          - continuous-integration/jenkins/pr-merge
+    main-v2:
+     required_status_checks:
+        strict: true
+        contexts:
+          - continuous-integration/jenkins/pr-merge
     
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 81d5da4..cf9dabd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -227,7 +227,7 @@
           <artifactId>maven-gpg-plugin</artifactId>
           <version>3.0.1</version>
         </plugin>
-      
+
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-remote-resources-plugin</artifactId>
@@ -868,8 +868,6 @@
             <executions>
               <execution>
                 <id>artifacts-checksum</id>
-                <!-- run before gpg signing, so gpg can sign (ugh) the .sha512 needed for workaround -->
-                <phase>post-integration-test</phase>
                 <goals>
                   <goal>artifacts</goal>
                 </goals>
@@ -994,7 +992,7 @@
           <exists>src/docbook</exists>
         </file>
       </activation>
-      
+
       <build>
         <plugins>
           <!-- 
@@ -1663,7 +1661,7 @@
                     <copy todir="${project.build.directory}/saved/plugins" failonerror="true">
                       <fileset dir="${eusWork}/plugins" includes="*.jar" />
                     </copy>
-                                            
+
                     <echo>Generate the p2 metadata and publish new artifacts</echo>
                     <!-- Append is needed because category info is incremental with each additional release -->
                     <java jar="${eclipse-equinox-launcher}" fork="true" failonerror="true" maxmemory="256m">
@@ -1701,7 +1699,7 @@
                             <include name="**/*.jar" />
                           </fileset>
                         </checksum>
-                        
+
                         <echo message="Generating gpg signatures for new features and plugins" />
                         <apply executable="gpg" dir="${eusWork}" failonerror="true">
                           <arg value="--detach-sign" />
@@ -1733,7 +1731,7 @@
                             <include name="*.jar" />
                           </fileset>
                         </checksum>
-    
+
                         <echo message="Generating gpg signatures for artifacts.jar and content.jar" />
                         <apply executable="gpg" dir="${eclipseUpdateSubSite}" failonerror="true">
                           <arg value="--detach-sign" />
@@ -1869,7 +1867,7 @@
                       <fileset dir="${eclipseUpdateSubSite}">
                         <include name="*.jar" />
                       </fileset>
-                    </checksum> 
+                    </checksum>
 
                     <echo message="Generating gpg signatures for artifacts.jar and content.jar" />
                     <apply executable="gpg" dir="${eclipseUpdateSubSite}" failonerror="true">
