From 441b68e9c5d972e00c35d8849d29713c03012cba Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 16 Jan 2025 10:17:52 -0300 Subject: [PATCH 1/4] [app] prepare 1.22 release --- CHANGELOG.md | 6 ++++++ app/build.gradle | 2 +- app/src/main/res/values/default_repos.xml | 9 +++++++-- metadata/en-US/changelogs/default.txt | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfe7b2957..d03898491 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### 1.22.0 (2025-01-16) + +* automatically add newly installed apps to home-screen for most launchers (Thanks Dhina!) +* disable gentle app updates again because of update issues +* some bug fixes + ### 1.22.0-alpha0 (2024-12-17) * use "gentle update" API so apps don't get killed while in use diff --git a/app/build.gradle b/app/build.gradle index e97690f02..ad974de4e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,7 +32,7 @@ android { compileSdk libs.versions.compileSdk.get().toInteger() defaultConfig { - versionCode 1022000 + versionCode 1022050 versionName getVersionName() applicationId "org.fdroid" diff --git a/app/src/main/res/values/default_repos.xml b/app/src/main/res/values/default_repos.xml index 4b2bcaee1..77b764db3 100644 --- a/app/src/main/res/values/default_repos.xml +++ b/app/src/main/res/values/default_repos.xml @@ -1,4 +1,3 @@ - @@ -27,6 +26,9 @@ https://mirrors.dotsrc.org/fdroid/repo https://opencolo.mm.fcix.net/fdroid/repo https://plug-mirror.rcac.purdue.edu/fdroid/repo + https://mirror.init7.net/fdroid/repo + https://mirror.freedif.org/fdroid/repo + https://de.freedif.org/fdroid/repo The official F-Droid Free Software repository. Everything in this repository is always built from the source code. @@ -65,6 +67,9 @@ https://mirrors.dotsrc.org/fdroid/archive https://opencolo.mm.fcix.net/fdroid/archive https://plug-mirror.rcac.purdue.edu/fdroid/archive + https://mirror.init7.net/fdroid/archive + https://mirror.freedif.org/fdroid/archive + https://de.freedif.org/fdroid/archive The archive repository of the F-Droid client. This contains older versions of @@ -83,4 +88,4 @@ - + \ No newline at end of file diff --git a/metadata/en-US/changelogs/default.txt b/metadata/en-US/changelogs/default.txt index d92e0cff1..84ed0c26c 100644 --- a/metadata/en-US/changelogs/default.txt +++ b/metadata/en-US/changelogs/default.txt @@ -1,5 +1,5 @@ -* use "gentle update" API so apps don't get killed while in use * experimental support for un-archiving apps on Android 15 +* automatically add newly installed apps to home-screen for most launchers (Thanks Dhina!) * separate share link and share file actions in app details * show toast when APK has more permissions than expected * clean internal caches more often to free up space (Thanks DerGenaue!) From 64f50d5d1a14b62a4c81476ca7ac29722a8b5457 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 17 Jan 2025 17:40:07 -0300 Subject: [PATCH 2/4] [app] use different mirror for HttpDownloaderTest because it fails on CI --- .../fdroid/fdroid/net/HttpDownloaderTest.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java b/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java index 96476cca7..2b9766d6a 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java @@ -16,6 +16,7 @@ import org.fdroid.download.Mirror; import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.Utils; import org.fdroid.index.v1.IndexV1UpdaterKt; +import org.fdroid.index.v2.IndexV2UpdaterKt; import org.junit.Test; import java.io.File; @@ -44,24 +45,22 @@ public class HttpDownloaderTest { // https://developer.android.com/reference/javax/net/ssl/SSLContext static { ArrayList> tempUrls = new ArrayList<>(Arrays.asList( - new Pair<>("https://f-droid.org/repo", IndexV1UpdaterKt.SIGNED_FILE_NAME), + new Pair<>("https://f-droid.org/repo", IndexV2UpdaterKt.SIGNED_FILE_NAME), // sites that use SNI for HTTPS new Pair<>("https://mirrors.edge.kernel.org/", "debian/dists/stable/Release"), new Pair<>("https://fdroid.tetaneutral.net/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME), - new Pair<>("https://ftp.fau.de/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME), - new Pair<>("https://ftp.fau.de/fdroid/repo", "dev.lonami.klooni/en-US/phoneScreenshots/1-game.jpg"), + new Pair<>("https://opencolo.mm.fcix.net/fdroid/repo/", "dev.lonami.klooni/en-US/phoneScreenshots/1-game.jpg"), //new Pair<>("https://microg.org/fdroid/repo/index-v1.jar"), //new Pair<>("https://grobox.de/fdroid/repo/index.jar"), - new Pair<>("https://guardianproject.info/fdroid/repo", IndexV1UpdaterKt.SIGNED_FILE_NAME), + new Pair<>("https://guardianproject.info/fdroid/repo", IndexV2UpdaterKt.SIGNED_FILE_NAME), new Pair<>("https://en.wikipedia.org", "/wiki/Index.html"), // no SNI but weird ipv6 lookup issues - new Pair<>("https://mirror.cyberbits.eu/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME) // TLSv1.2 only and SNI + new Pair<>("https://mirror.cyberbits.eu/fdroid/repo/", IndexV2UpdaterKt.SIGNED_FILE_NAME) // TLSv1.2 only and SNI )); if (Build.VERSION.SDK_INT < 26) { // domains that use Let's Encrypt won't work on Android 7.1 and older // https://gitlab.com/fdroid/fdroidclient/-/issues/2102 tempUrls = new ArrayList<>(Arrays.asList( - new Pair<>("https://ftp.fau.de/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME), - new Pair<>("https://ftp.gwdg.de/pub/android/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME) + new Pair<>("https://ftp.gwdg.de/pub/android/fdroid/repo", "dev.lonami.klooni/en-US/phoneScreenshots/1-game.jpg") )); } URLS = tempUrls; @@ -88,7 +87,7 @@ public class HttpDownloaderTest { public void downloadUninterruptedTestWithProgress() throws IOException, InterruptedException { final CountDownLatch latch = new CountDownLatch(1); String path = "index.jar"; - List mirrors = Mirror.fromStrings(Collections.singletonList("https://ftp.fau.de/fdroid/repo/")); + List mirrors = Mirror.fromStrings(Collections.singletonList("https://ftp.gwdg.de/pub/android/fdroid/repo/")); receivedProgress = false; File destFile = File.createTempFile("dl-", ""); final DownloadRequest request = new DownloadRequest(path, mirrors, null, null, null); @@ -156,7 +155,7 @@ public class HttpDownloaderTest { public void downloadThenCancel() throws IOException, InterruptedException { final CountDownLatch latch = new CountDownLatch(2); String path = "index.jar"; - List mirrors = Mirror.fromStrings(Collections.singletonList("https://ftp.fau.de/fdroid/repo/")); + List mirrors = Mirror.fromStrings(Collections.singletonList("https://ftp.gwdg.de/pub/android/fdroid/repo/")); File destFile = File.createTempFile("dl-", ""); final DownloadRequest request = new DownloadRequest(path, mirrors, null, null, null); final HttpDownloader httpDownloader = new HttpDownloader(httpManager, request, destFile); @@ -171,7 +170,7 @@ public class HttpDownloaderTest { httpDownloader.download(); fail(); } catch (IOException e) { - e.printStackTrace(); + Log.e(TAG, "Error downloading: ", e); fail(); } catch (InterruptedException e) { // success! From 580f552c891c0d5ab6bdb9ce440f78395e9a7c5f Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 21 Jan 2025 10:12:48 -0300 Subject: [PATCH 3/4] [download] Fix HttpManagerIntegrationTest because example.org stopped allowing range requests --- .../fdroid/download/HttpManagerIntegrationTest.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libs/download/src/commonTest/kotlin/org/fdroid/download/HttpManagerIntegrationTest.kt b/libs/download/src/commonTest/kotlin/org/fdroid/download/HttpManagerIntegrationTest.kt index 623560373..4678aa26d 100644 --- a/libs/download/src/commonTest/kotlin/org/fdroid/download/HttpManagerIntegrationTest.kt +++ b/libs/download/src/commonTest/kotlin/org/fdroid/download/HttpManagerIntegrationTest.kt @@ -12,15 +12,16 @@ import kotlin.test.assertFailsWith class HttpManagerIntegrationTest { private val userAgent = getRandomString() - private val mirrors = listOf(Mirror("https://example.org"), Mirror("https://example.net/")) - private val downloadRequest = DownloadRequest("", mirrors) + private val mirrors = + listOf(Mirror("https://f-droid.org/"), Mirror("https://cloudflare.f-droid.org/")) + private val downloadRequest = DownloadRequest(".well-known/security.txt", mirrors) @Test fun testResumeOnExample() = runSuspend { val httpManager = HttpManager(userAgent, null) - val lastLine = httpManager.getBytes(downloadRequest, 1248).decodeToString() - assertEquals("\n", lastLine) + val lastLine = httpManager.getBytes(downloadRequest, 974).decodeToString() + assertEquals("-----END PGP SIGNATURE-----\n", lastLine) } @Test @@ -33,7 +34,7 @@ class HttpManagerIntegrationTest { } assertEquals("Failed to connect to /127.0.0.1:80", e.message) - val lastLine = httpManager.getBytes(downloadRequest, 1248).decodeToString() - assertEquals("\n", lastLine) + val lastLine = httpManager.getBytes(downloadRequest, 974).decodeToString() + assertEquals("-----END PGP SIGNATURE-----\n", lastLine) } } From c928d7cfdbf6173c00c5ecba6f4046d4e4fe4d69 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 23 Jan 2025 12:40:32 +0100 Subject: [PATCH 4/4] move v1.21.x changelogs to last bugfix release v1.21.1 --- metadata/ar/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/ca/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/cs/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/de/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/en-US/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/eo/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/fr/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/ga/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/id/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/ja/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/pt-BR/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/pt-PT/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/pt/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/ru/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/sr/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/ta/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/uk/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/zh-CN/changelogs/{1021050.txt => 1021051.txt} | 0 metadata/zh-TW/changelogs/{1021050.txt => 1021051.txt} | 0 19 files changed, 0 insertions(+), 0 deletions(-) rename metadata/ar/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/ca/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/cs/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/de/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/en-US/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/eo/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/fr/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/ga/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/id/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/ja/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/pt-BR/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/pt-PT/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/pt/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/ru/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/sr/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/ta/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/uk/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/zh-CN/changelogs/{1021050.txt => 1021051.txt} (100%) rename metadata/zh-TW/changelogs/{1021050.txt => 1021051.txt} (100%) diff --git a/metadata/ar/changelogs/1021050.txt b/metadata/ar/changelogs/1021051.txt similarity index 100% rename from metadata/ar/changelogs/1021050.txt rename to metadata/ar/changelogs/1021051.txt diff --git a/metadata/ca/changelogs/1021050.txt b/metadata/ca/changelogs/1021051.txt similarity index 100% rename from metadata/ca/changelogs/1021050.txt rename to metadata/ca/changelogs/1021051.txt diff --git a/metadata/cs/changelogs/1021050.txt b/metadata/cs/changelogs/1021051.txt similarity index 100% rename from metadata/cs/changelogs/1021050.txt rename to metadata/cs/changelogs/1021051.txt diff --git a/metadata/de/changelogs/1021050.txt b/metadata/de/changelogs/1021051.txt similarity index 100% rename from metadata/de/changelogs/1021050.txt rename to metadata/de/changelogs/1021051.txt diff --git a/metadata/en-US/changelogs/1021050.txt b/metadata/en-US/changelogs/1021051.txt similarity index 100% rename from metadata/en-US/changelogs/1021050.txt rename to metadata/en-US/changelogs/1021051.txt diff --git a/metadata/eo/changelogs/1021050.txt b/metadata/eo/changelogs/1021051.txt similarity index 100% rename from metadata/eo/changelogs/1021050.txt rename to metadata/eo/changelogs/1021051.txt diff --git a/metadata/fr/changelogs/1021050.txt b/metadata/fr/changelogs/1021051.txt similarity index 100% rename from metadata/fr/changelogs/1021050.txt rename to metadata/fr/changelogs/1021051.txt diff --git a/metadata/ga/changelogs/1021050.txt b/metadata/ga/changelogs/1021051.txt similarity index 100% rename from metadata/ga/changelogs/1021050.txt rename to metadata/ga/changelogs/1021051.txt diff --git a/metadata/id/changelogs/1021050.txt b/metadata/id/changelogs/1021051.txt similarity index 100% rename from metadata/id/changelogs/1021050.txt rename to metadata/id/changelogs/1021051.txt diff --git a/metadata/ja/changelogs/1021050.txt b/metadata/ja/changelogs/1021051.txt similarity index 100% rename from metadata/ja/changelogs/1021050.txt rename to metadata/ja/changelogs/1021051.txt diff --git a/metadata/pt-BR/changelogs/1021050.txt b/metadata/pt-BR/changelogs/1021051.txt similarity index 100% rename from metadata/pt-BR/changelogs/1021050.txt rename to metadata/pt-BR/changelogs/1021051.txt diff --git a/metadata/pt-PT/changelogs/1021050.txt b/metadata/pt-PT/changelogs/1021051.txt similarity index 100% rename from metadata/pt-PT/changelogs/1021050.txt rename to metadata/pt-PT/changelogs/1021051.txt diff --git a/metadata/pt/changelogs/1021050.txt b/metadata/pt/changelogs/1021051.txt similarity index 100% rename from metadata/pt/changelogs/1021050.txt rename to metadata/pt/changelogs/1021051.txt diff --git a/metadata/ru/changelogs/1021050.txt b/metadata/ru/changelogs/1021051.txt similarity index 100% rename from metadata/ru/changelogs/1021050.txt rename to metadata/ru/changelogs/1021051.txt diff --git a/metadata/sr/changelogs/1021050.txt b/metadata/sr/changelogs/1021051.txt similarity index 100% rename from metadata/sr/changelogs/1021050.txt rename to metadata/sr/changelogs/1021051.txt diff --git a/metadata/ta/changelogs/1021050.txt b/metadata/ta/changelogs/1021051.txt similarity index 100% rename from metadata/ta/changelogs/1021050.txt rename to metadata/ta/changelogs/1021051.txt diff --git a/metadata/uk/changelogs/1021050.txt b/metadata/uk/changelogs/1021051.txt similarity index 100% rename from metadata/uk/changelogs/1021050.txt rename to metadata/uk/changelogs/1021051.txt diff --git a/metadata/zh-CN/changelogs/1021050.txt b/metadata/zh-CN/changelogs/1021051.txt similarity index 100% rename from metadata/zh-CN/changelogs/1021050.txt rename to metadata/zh-CN/changelogs/1021051.txt diff --git a/metadata/zh-TW/changelogs/1021050.txt b/metadata/zh-TW/changelogs/1021051.txt similarity index 100% rename from metadata/zh-TW/changelogs/1021050.txt rename to metadata/zh-TW/changelogs/1021051.txt