From 8f5833a394d85de9c56adf2aad4cf43fc4d2d8db Mon Sep 17 00:00:00 2001
From: Soren Stoutner
Date: Thu, 12 Mar 2026 14:02:26 -0700
Subject: [PATCH] Release 3.20.
---
app/build.gradle | 8 +--
app/src/main/assets/de/about_changelog.html | 24 ++++-----
app/src/main/assets/de/about_licenses.html | 21 ++++----
app/src/main/assets/de/guide_requests.html | 40 +++++++--------
.../assets/de/images/filter_list_entry.png | Bin 0 -> 213835 bytes
.../main/assets/de/images/request_details.png | Bin 148123 -> 211610 bytes
app/src/main/assets/en/guide_requests.html | 2 +-
app/src/main/assets/es/about_changelog.html | 34 ++++++-------
app/src/main/assets/es/about_licenses.html | 18 +++----
app/src/main/assets/es/guide_requests.html | 43 ++++++++--------
.../assets/es/images/filter_list_entry.png | Bin 0 -> 205341 bytes
.../main/assets/es/images/request_details.png | Bin 167176 -> 228737 bytes
app/src/main/assets/fr/guide_requests.html | 2 +-
.../assets/fr/images/filter_list_entry.png | Bin 0 -> 203123 bytes
.../main/assets/fr/images/request_details.png | Bin 155670 -> 221782 bytes
app/src/main/assets/it/about_changelog.html | 24 ++++-----
app/src/main/assets/it/about_licenses.html | 18 +++----
app/src/main/assets/it/guide_requests.html | 39 +++++++--------
.../assets/it/images/filter_list_entry.png | Bin 0 -> 214127 bytes
.../main/assets/it/images/request_details.png | Bin 149914 -> 217855 bytes
.../main/assets/pt-rBR/guide_requests.html | 2 +-
.../pt-rBR/images/filter_list_entry.png | Bin 0 -> 195756 bytes
app/src/main/assets/ru/about_changelog.html | 26 +++++-----
app/src/main/assets/ru/about_licenses.html | 22 ++++-----
app/src/main/assets/ru/guide_requests.html | 46 +++++++++---------
.../assets/ru/images/filter_list_entry.png | Bin 0 -> 216502 bytes
.../main/assets/ru/images/request_details.png | Bin 160844 -> 221255 bytes
app/src/main/assets/tr/guide_requests.html | 2 +-
.../assets/tr/images/filter_list_entry.png | Bin 0 -> 193366 bytes
.../main/assets/zh-rCN/guide_requests.html | 2 +-
.../zh-rCN/images/filter_list_entry.png | Bin 0 -> 187409 bytes
.../activities/MainWebViewActivity.kt | 32 ++++++------
app/src/main/res/values-de/strings.xml | 31 ++++++++++--
app/src/main/res/values-es/strings.xml | 37 +++++++++++---
app/src/main/res/values-it/strings.xml | 31 ++++++++++--
app/src/main/res/values-ru/strings.xml | 27 ++++++++--
app/src/main/res/values/strings.xml | 22 ++++-----
build.gradle | 2 +-
.../metadata/android/de-DE/changelogs/80.txt | 9 ++++
.../metadata/android/en-US/changelogs/80.txt | 8 +++
.../metadata/android/es-ES/changelogs/55.txt | 4 +-
.../metadata/android/es-ES/changelogs/80.txt | 9 ++++
.../metadata/android/it-IT/changelogs/80.txt | 9 ++++
.../metadata/android/ru-RU/changelogs/80.txt | 8 +++
gradle/wrapper/gradle-wrapper.properties | 2 +-
45 files changed, 369 insertions(+), 235 deletions(-)
create mode 100644 app/src/main/assets/de/images/filter_list_entry.png
create mode 100644 app/src/main/assets/es/images/filter_list_entry.png
create mode 100644 app/src/main/assets/fr/images/filter_list_entry.png
create mode 100644 app/src/main/assets/it/images/filter_list_entry.png
create mode 100644 app/src/main/assets/pt-rBR/images/filter_list_entry.png
create mode 100644 app/src/main/assets/ru/images/filter_list_entry.png
create mode 100644 app/src/main/assets/tr/images/filter_list_entry.png
create mode 100644 app/src/main/assets/zh-rCN/images/filter_list_entry.png
create mode 100644 fastlane/metadata/android/de-DE/changelogs/80.txt
create mode 100644 fastlane/metadata/android/en-US/changelogs/80.txt
create mode 100644 fastlane/metadata/android/es-ES/changelogs/80.txt
create mode 100644 fastlane/metadata/android/it-IT/changelogs/80.txt
create mode 100644 fastlane/metadata/android/ru-RU/changelogs/80.txt
diff --git a/app/build.gradle b/app/build.gradle
index ec1f607a..e5c66089 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -30,8 +30,8 @@ android {
defaultConfig {
minSdk 26
targetSdk 36
- versionCode 79
- versionName "3.19.3"
+ versionCode 80
+ versionName "3.20"
resourceConfigurations += ['en', 'de', 'es', 'fr', 'it', 'pt-rBR', 'ru', 'tr', 'zh-rCN']
}
@@ -84,13 +84,13 @@ android {
dependencies {
// Include the following AndroidX libraries.
- implementation "androidx.activity:activity-ktx:1.12.4"
+ implementation "androidx.activity:activity-ktx:1.13.0"
implementation 'androidx.arch.core:core-common:2.2.0'
implementation 'androidx.arch.core:core-runtime:2.2.0'
implementation 'androidx.appcompat:appcompat:1.7.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0'
- implementation 'androidx.core:core-ktx:1.17.0'
+ implementation 'androidx.core:core-ktx:1.18.0'
implementation 'androidx.drawerlayout:drawerlayout:1.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.10.0'
implementation 'androidx.preference:preference-ktx:1.2.1'
diff --git a/app/src/main/assets/de/about_changelog.html b/app/src/main/assets/de/about_changelog.html
index a17d41a0..f9ca2c36 100644
--- a/app/src/main/assets/de/about_changelog.html
+++ b/app/src/main/assets/de/about_changelog.html
@@ -2,7 +2,7 @@
SPDX-License-Identifier: GPL-3.0-or-later
SPDX-FileCopyrightText: 2016-2026 Soren Stoutner
- Translation 2019-2025 Bernhard G. Keller. Copyright assigned to Soren Stoutner .
+ Translation 2019-2026 Bernhard G. Keller. Copyright assigned to Soren Stoutner .
Translation 2018 Stefan Erhardt. Copyright assigned to Soren Stoutner .
Translation 2016 Aaron Gerlach . Copyright assigned to Soren Stoutner .
@@ -36,14 +36,14 @@
3.20 (Code-Version 80)
12. März 2026 - Mindest-API 26, Ziel-API 36
@@ -51,14 +51,14 @@
31. Januar 2025 - Mindest-API 26, Ziel-API 35
3.19.2 (Code-Version 78)
10. Januar 2025 - Mindest-API 26, Ziel-API 35
3.19.1 (Code-Version 77)
@@ -1058,7 +1058,7 @@
Launcher-Icon aktualisiert um es gröÃer zu machen.
Alle Toast-Nachrichten durch Snackbars ersetzt.
URL-Leiste wird nicht aktualisiert, wenn der Nutzer darin schreibt.
- Mindest-API von 10 auf 15 hochgestuft. Privacy Browser ist beim Laden unter API 10 abgestürzt.
+ Mindest-API von 10 auf 15 hochgestuft. Privacy Browser ist beim Laden unter API 10 abgestürzt.
1.1 (Code-Version 2)
diff --git a/app/src/main/assets/de/about_licenses.html b/app/src/main/assets/de/about_licenses.html
index cf0bb8f1..cec18783 100644
--- a/app/src/main/assets/de/about_licenses.html
+++ b/app/src/main/assets/de/about_licenses.html
@@ -2,8 +2,8 @@
SPDX-License-Identifier: GPL-3.0-or-later
SPDX-FileCopyrightText: 2016-2026 Soren Stoutner
+ Translation 2020, 2026 Bernhard G. Keller. Copyright assigned to Soren Stoutner .
Translation 2016 Aaron Gerlach . Copyright assigned to Soren Stoutner .
- Translation 2020 Bernhard G. Keller. Copyright assigned to Soren Stoutner .
This file is part of Privacy Browser Android .
@@ -41,18 +41,19 @@
The source code is available from gitweb.stoutner.com.
Filter Lists:
- UltraPrivacy and UltraList
- are developed by Stoutner. They are released under the GPLv3+.
+ UltraPrivacy und UltraList
+ werden von Stoutner entwickelt. Sie werden unter derc GPLv3+ veröffentlicht.
- EasyList and EasyPrivacy are
- dual licensed under the GPLv3+ or the
- Creative Commons Attribution-ShareAlike 3.0+ Unported licenses. Privacy Browser incorporates them using the GPLv3+ option.
+ EasyList und EasyPrivacy werden unter der
+ GPLv3+ oder der
+ Creative Commons Attribution-ShareAlike 3.0+ Unported Lizenz zweifach-lizensiert.
+ Privacy Browser vereinigt diese durch die Nutzung der GPLv3+-Option.
- Fanboyâs Annoyance List is released under the
- Creative Commons Attribution 3.0 Unported license,
- which is compatible with the GPLv3+. This list is included unchanged in Privacy Browser.
+ Fanboyâs Annoyance List wird unter der
+ Creative Commons Attribution 3.0 Unported Lizenz veröffentlicht,
+ die mit der GPLv3+-Lizenz kompatibel ist. Diese Liste wird unverändert in Privacy Browser genutzt.
- More information about the filter lists can be found on the EasyList website.
+ Weitere Informationen zu den Filterlisten ist auf der EasyList-Website verfügbar.
Bibliotheken:
Privacy Browser baut auf den AndroidX-Bibliotheken,
diff --git a/app/src/main/assets/de/guide_requests.html b/app/src/main/assets/de/guide_requests.html
index 018a3dcf..a6cdb0d0 100644
--- a/app/src/main/assets/de/guide_requests.html
+++ b/app/src/main/assets/de/guide_requests.html
@@ -2,7 +2,7 @@
SPDX-License-Identifier: GPL-3.0-or-later
SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025-2026 Soren Stoutner
- Translation 2019 Bernhard G. Keller. Copyright assigned to Soren Stoutner .
+ Translation 2019, 2026 Bernhard G. Keller. Copyright assigned to Soren Stoutner .
This file is part of Privacy Browser Android .
@@ -38,12 +38,12 @@
In dieser Ansicht wird auch dargestellt, wie viele (und welche) Anfragen geblockt wurden.
Durch Antippen der betreffenden Anfragen können weitere Details dazu angezeigt werden, die zeigen, warum die Anfrage erlaubt oder blockiert wurde.
-
+
- Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:
+ Bevor eine Webseite eine Ressource lädt, wird diese in folgender Reihenfolge gegen die aktivierten Filterlisten geprüft:
- - Block All Third-Party Requests
+ - Alle Drittanbieter-Anfragen blockieren
- UltraPrivacy
- UltraList
- EasyPrivacy
@@ -51,29 +51,29 @@
- Fanboyâs Annoyance List
- All of these lists except for the first are based on the Adblock syntax.
- UltraPrivacy and UltraList
- are maintained by Stoutner. The last three filter lists come from the EasyList project.
+ Alle diese Listen mit Ausnahme der ersten basieren auf der Adblock-Syntax.
+ UltraPrivacy und UltraList
+ werden von Stoutner betreut. Die letzten drei Listen entstammen dem EasyList-Projekt.
- The raw entries from the filter lists are processed into 6 sublists.
+ Die Roh-Einträge der Filterlisten werden in 6 Unterlisten verarbeitet.
- - Main Allow List
- - Initial Domain Allow List
- - Regular Expression Allow List
- - Main Block List
- - Initial Domain Block List
- - Regular Expression Block List
+ - Haupt-Erlaubt-Liste
+ - Anfangs-Domain-Erlaubt-Liste
+ - Erlaubt-Liste regulärer Eindrücke
+ - Haupt-Blockier-Liste
+ - Anfangs-Domain-Blockier-Liste
+ - Blockier-Liste regulärer Eindrücke
- Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
- Regular expression lists follow the regular expression syntax.
+ Anfangs-Domain-Listen prüfen gegen den Anfang der Domain. Diese sind sehr gebräuchlich und die Verwendung in deren Unterlisten erlaubt eine CPU-effiziente Prüfung von Ressoucren-Anfragen.
+ Listen regulärer Eindrücke folgen der Syntax regulärer Eindrücke.
- The contents of the filter lists may be viewed by selecting Filter Lists from the options overflow menu (three dots in the upper-right corner) of the Requests activity.
+ Die Inhalte der Filterlisten können durch Auswahl von Filter-Listen im Options-Menü (drei Punkte in der oberen rechten Ecke) der Anfragen-Anzeige begutachtet werden.
-
+
- Because of limitations in Androidâs WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
- A more detailed description of how the filter list entries are processed is available at stoutner.com.
+ Aufrgrund der Einschränkungen in Androids WebView nutzt Privacy Browser eine vereinfachte Implementierung der Adblock-Syntax.
+ Eine detailiertere Beschreibung, wie die Filterlisten-Einträge verarbeitet werden, ist unter stoutner.com verfügbar.