Skip to content

Commit

Permalink
Merge tag '1.2213'
Browse files Browse the repository at this point in the history
  • Loading branch information
niks255 committed Jul 14, 2024
2 parents b9b728a + 5cb4a1b commit 2254d6b
Show file tree
Hide file tree
Showing 157 changed files with 27,608 additions and 1,078 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ on:
description: 'Branch'
required: true
default: 'master'

permissions:
id-token: write
contents: read
attestations: write

jobs:
build:

Expand Down Expand Up @@ -52,6 +58,11 @@ jobs:
run: ./gradlew lintGithubRelease
- name: Build with Gradle
run: ./gradlew assembleGithubRelease assembleLargeRelease assemblePlayRelease uploadBugsnagGithub-releaseMapping uploadBugsnagLarge-releaseMapping uploadBugsnagPlay-releaseMapping
#https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-path: 'app/build/outputs/apk/**/release/*.apk'
- name: Upload to BitBucket
run: |
./gradlew upload -Ptarget=play-preview-${{ github.event.inputs.branch }}
Expand Down
46 changes: 38 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,51 @@

### Notices

Recently, there were more updates than usual, all intended to resolve side effects of changes required for Android 15.
Google's compatibility library unfortunately does not work properly for all Android versions and all devices,
and therefore custom bug fixes were necessary.

The use of "AI" integrations is and will remain completely optional.
"AI" is completely inert if it is not configured and not being used.
To prevent tracking, [REST](https://en.wikipedia.org/wiki/REST) calls are used instead of third-party libraries.
It is now possible to check the integrity of APK files, see [the FAQ](https://m66b.github.io/FairEmail/#faq205) about how.

For support you can use [the contact form](https://contact.faircode.eu/?product=fairemailsupport).

<br>

### [Acantholipan](https://en.wikipedia.org/wiki/Acantholipan)

### 1.2208 - 2024-06-22
### 1.2213 - 2024-07-13

* Added white theme
* Small improvements and minor bug fixes
* Updated build tools (Android Studio, gradle)
* Updated [Public Suffix List](https://github.com/publicsuffix/list)
* Updated [translations](https://crowdin.com/project/open-source-email)

### 1.2212 - 2024-07-11

* Added resizing of contact photos to avoid using a lot of memory
* Small improvements and minor bug fixes
* Updated [translations](https://crowdin.com/project/open-source-email)

### 1.2211 - 2024-07-10

* Added workaround for drop-down menu focus
* Small improvements and minor bug fixes
* Updated [translations](https://crowdin.com/project/open-source-email)

### 1.2210 - 2024-07-09

* Added optional DuckDuckGo favicons (GitHub version only)
* Fixed two memory leaks
* Small improvements and minor bug fixes
* Updated [translations](https://crowdin.com/project/open-source-email)

### 1.2209 - 2024-07-03

* Added account images (avatars)
* Added APK file attestation, see [the FAQ](https://m66b.github.io/FairEmail/#faq205)
* Small improvements and minor bug fixes
* Updated [AndroidX](https://developer.android.com/jetpack/androidx/versions/all-channel)
* Updated [Public Suffix List](https://github.com/publicsuffix/list)
* Updated [translations](https://crowdin.com/project/open-source-email)

### 1.2208 - 2024-06-22 *

* Changed copy signature button into edit signature button
* Small improvements and minor bug fixes
Expand Down
68 changes: 62 additions & 6 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ Anything on this list is in random order and *might* be added in the near future
* [(151) Can you add backup/restore of messages?](#faq151)
* [(152) How can I insert a contact group?](#faq152)
* [(153) Why does permanently deleting Gmail message not work?](#faq153)
* [~~(154) Can you add favicons as contact photos?~~](#faq154)
* [(154) Is there support for favicons as contact photos?](#faq154)
* [(155) What is a winmail.dat file?](#faq155)
* [(156) How can I set up an Office 365 account?](#faq156)
* [(157) How can I set up an Free.fr account?](#faq157)
Expand Down Expand Up @@ -429,6 +429,7 @@ Anything on this list is in random order and *might* be added in the near future
* [(202) What is DNSSEC and what is DANE?](#faq202)
* [(203) Where is my sent message?](#faq203)
* [(204) How do I use Gemini?](#faq204)
* [(205) How do I check the integrity of an APK file?](#faq205)

[I have another question.](#get-support)

Expand Down Expand Up @@ -1273,6 +1274,14 @@ Using the search index is a pro feature.
>
> It takes just two minutes to be prepared.
>
> If the app said your Outlook accounts will continue to work, you don't need to do anything.
>
<br />

>
> tl;dr; go to settings via the navigation menu (left side menu), tap the wizard button, select Outlook/Hotmail/Live and follow the steps.
>
<br />

Expand Down Expand Up @@ -1786,6 +1795,8 @@ pm install -k --user 0 com.android.documentsui

Alternatively, you might be able to enable the *Files* app again using the Android app settings.

OneDrive doesn't support *view*, only *share*, which means that if you want to open an attachment in OneDrive you need to long press on an attachment.

<br />

<a name="faq26"></a>
Expand Down Expand Up @@ -2804,11 +2815,17 @@ Please see [here](https://developer.android.com/reference/java/util/regex/Patter
Note that you need to match the complete text from the first to the last character.
You can test a regex [here](https://regexr.com/).

You can use a regex condition like this to match a top-level domain (tld):

```
.*@.*\.xyz>
```

Note that a regular expression supports an *or* operator, so if you want to match multiple senders, you can do this:

``
```
.*alice@example\.org.*|.*bob@example\.org.*|.*carol@example\.org.*
``
```

Note that [dot all mode](https://developer.android.com/reference/java/util/regex/Pattern#DOTALL) is enabled
to be able to match [unfolded headers](https://tools.ietf.org/html/rfc2822#section-3.2.3).
Expand Down Expand Up @@ -4774,12 +4791,31 @@ On the other hand, a star set via IMAP is being shown in the web interface and c
<br />

<a name="faq154"></a>
**~~(154) Can you add favicons as contact photos?~~**
**(154) Is there support for favicons as contact photos?**

&#x1F30E; [Google Translate](https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq154)

~~Besides that a [favicon](https://en.wikipedia.org/wiki/Favicon) might be shared by many email addresses with the same domain name~~
~~and therefore is not directly related to an email address, favicons can be used to track you.~~
Yes, favicons can be enabled in the display-settings tab page.

To reduce privacy concerns, the app fetches favicons directly from the internet using the domain name of email addresses.
In other words, no third-party service is used.

If no favicon is shown for an email address, please check for favicons via [this service](https://realfavicongenerator.net/),
and if there are any, please [contact me](https://contact.faircode.eu/?product=fairemailsupport).

Since version 1.2210 it is also possible to use DuckDuckGo's icon service (GitHub version only).
There are concerns about [privacy](https://github.com/duckduckgo/Android/issues/527).

Since version 1.2213 it is possible to configure an alternative URI to fetch favicons in the debug options
by temporarily enabling debug mode in the miscellaneous-settings tab page.
For example:


```
https://icons.duckduckgo.com/ip3/{domain}.ico
https://www.google.com/s2/favicons?sz=128&domain={domain}
https://favicon.yandex.net/favicon/{domain}
```

<br />

Expand Down Expand Up @@ -5929,6 +5965,8 @@ This is not a complete and exhaustive list.

Please see [this article](https://www.zivver.com/blog/why-cisos-and-security-professionals-can-no-longer-rely-on-regular-email-for-the-sharing-of-personal-information) about why DANE is important.

Note that DNSSEC and DANE are available in the GitHub version only.

<br>

<a name="faq203"></a>
Expand Down Expand Up @@ -5980,6 +6018,24 @@ This feature is experimental and requires version 1.2171 or later for the GitHub

<br>

<a name="faq205"></a>
**(205) How do I check the integrity of an APK file?**

You can verify in this way that an APK file was built and signed by a GitHub workflow:

1. Install the [GitHub CLI](https://cli.github.com/)
2. Download and extract the [APK files](https://github.com/M66B/FairEmail/actions)
3. [Verify](https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds#verifying-artifact-attestations-with-the-github-cli) attestation of an APK file


```
gh attestation verify xyz.apk -R M66B/FairEmail
```

Attestation of APK files is available from version 1.2209.

<br>

<h2><a name="get-support"></a>Get support</h2>

&#x1F30E; [Google Translate](https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23get-support)
Expand Down
1 change: 1 addition & 0 deletions FAQ.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
header-includes: |
<link rel="shortcut icon" href="https://raw.githubusercontent.com/M66B/FairEmail/master/app/src/main/ic_launcher-web.png">
<meta name="theme-color" content="#006db3">
<style>
body { font-family: Arial, sans-serif; }
@media (prefers-color-scheme: light) {
Expand Down
2 changes: 1 addition & 1 deletion PLAYSTORE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ This app starts a foreground service with a low-priority status bar notification

All pro features are convenience or advanced features.

* Account/identity/folder colors
* Account/identity/folder colors/avatars
* Colored stars
* Notification settings (sounds) per account/folder/sender (requires Android 8 Oreo)
* Configurable notification actions
Expand Down
18 changes: 9 additions & 9 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apply plugin: 'com.bugsnag.android.gradle'
apply plugin: 'kotlin-android'
apply plugin: 'de.undercouch.download'

def getVersionCode = { -> return 2208 }
def getVersionCode = { -> return 2213 }
def getRevision = { -> return "a" }
def getReleaseName = { -> return "Acantholipan" }
// https://en.wikipedia.org/wiki/List_of_dinosaur_genera
Expand Down Expand Up @@ -539,7 +539,7 @@ configurations.configureEach {
} else if (details.requested.group == "androidx.lifecycle" &&
details.requested.name != "lifecycle-extensions") {
//print("Pinning " + details.requested.group + ":" + details.requested.name + "\n")
details.useVersion "2.7.0"
details.useVersion "2.8.3"
} else if (details.requested.group == "org.apache.poi") {
//print("Pinning " + details.requested.group + ":" + details.requested.name + "\n")
details.useVersion "3.17"
Expand All @@ -561,24 +561,24 @@ dependencies {
def annotation_version_experimental = "1.4.1"
def core_version = "1.13.1" // 1.15.0-alpha01
def appcompat_version = "1.7.0"
def emoji_version = "1.4.0" // 1.5.0-alpha01
def emoji_version = "1.4.0" // 1.5.0-beta01
def flatbuffers_version = "2.0.0"
def activity_version = " 1.9.0"
def fragment_version = "1.8.0"
def activity_version = " 1.9.0" // 1.10.0-alpha01
def fragment_version = "1.8.1"
def windows_version = "1.2.0" // 1.3.0-rc01
def webkit_version = "1.10.0" // 1.11.0/1.12.0-alpha02
def recyclerview_version = "1.3.2" // 1.4.0-alpha01
def coordinatorlayout_version = "1.2.0" // 1.3.0-alpha02
def constraintlayout_version = "2.1.4" // 2.2.0-alpha13
def material_version = "1.11.0" // 1.12.0-rc01 / 1.13.0-alpha01
def material_version = "1.11.0" // 1.12.0 / 1.13.0-alpha03
def browser_version = "1.8.0"
def lbm_version = "1.1.0"
def swiperefresh_version = "1.2.0-alpha01"
def documentfile_version = "1.1.0-alpha01"
def lifecycle_version = "2.7.0" // 2.8.1
def lifecycle_version = "2.8.3"
def lifecycle_extensions_version = "2.2.0"
def room_version = "2.4.3" // 2.5.2/2.6.1/2.7.0-alpha04
def sqlite_version = "2.4.0" // 2.5.0-alpha04
def room_version = "2.4.3" // 2.5.2/2.6.1/2.7.0-alpha05
def sqlite_version = "2.4.0" // 2.5.0-alpha05
def requery_version = "3.39.2"
def paging_version = "2.1.2" // 3.3.0-rc01
def preference_version = "1.2.1"
Expand Down
Loading

0 comments on commit 2254d6b

Please sign in to comment.