diff --git a/framework/pom.xml b/framework/pom.xml
index ed0dc32..489bf47 100644
--- a/framework/pom.xml
+++ b/framework/pom.xml
@@ -33,9 +33,10 @@
     <felix.java.version>8</felix.java.version>
   </properties>
   <scm>
-      <connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/framework</connection>
-      <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/framework</developerConnection>
-      <url>http://svn.apache.org/repos/asf/felix/framework</url>
+    <connection>scm:git:https://github.com/apache/felix-dev.git</connection>
+    <developerConnection>scm:git:https://github.com/apache/felix-dev.git</developerConnection>
+    <url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url>
+    <tag>HEAD</tag>
   </scm>
 
   <build>
@@ -49,7 +50,7 @@
           <instructions>
             <Bundle-SymbolicName>org.apache.felix.framework.connect</Bundle-SymbolicName>
             <Bundle-Name>Apache Felix Framework Connect</Bundle-Name>
-            <Bundle-Description>OSGi R7 framework connect implementation.</Bundle-Description>
+            <Bundle-Description>OSGi R8 framework connect implementation.</Bundle-Description>
             <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
             <Export-Package>
                 org.osgi.framework.*;-split-package:=first,
diff --git a/framework/src/main/appended-resources/META-INF/NOTICE b/framework/src/main/appended-resources/META-INF/NOTICE
index d4d1ad8..246e269 100644
--- a/framework/src/main/appended-resources/META-INF/NOTICE
+++ b/framework/src/main/appended-resources/META-INF/NOTICE
@@ -1,4 +1,4 @@
 This product includes software developed at
 The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2015).
+Copyright (c) OSGi Alliance (2000, 2020).
 Licensed under the Apache License 2.0.
diff --git a/framework/src/main/java/org/apache/felix/framework/util/MultiReleaseContent.java b/framework/src/main/java/org/apache/felix/framework/util/MultiReleaseContent.java
index eed4553..0323105 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/MultiReleaseContent.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/MultiReleaseContent.java
@@ -61,16 +61,13 @@
         }
         if (javaVersion > 8)
         {
-            try
+            try (InputStream manifestStream = content.getEntryAsStream("META-INF/MANIFEST.MF"))
             {
-                try (InputStream manifestStream = content.getEntryAsStream("META-INF/MANIFEST.MF"))
+                if (manifestStream != null)
                 {
-                    if (manifestStream != null)
+                    if ("true".equals(new Manifest(manifestStream).getMainAttributes().getValue("Multi-Release")))
                     {
-                        if ("true".equals(new Manifest(manifestStream).getMainAttributes().getValue("Multi-Release")))
-                        {
-                            content = new MultiReleaseContent(javaVersion, content);
-                        }
+                        content = new MultiReleaseContent(javaVersion, content);
                     }
                 }
             }
