Skip to content

Releases: cmeng-git/xmail

v5.1.2

05 Aug 00:30
Compare
Choose a tag to compare
  • Force oauth_webview height to 600dp; webView render has problem with OAUTH window display.
  • Update outlook.com mail provider incoming/outgoing mail server endpoints settings
  • Always show "MANUAL SETUP" option even when a mail provider configuration is found, allowing user edit if incorrect.

v5.1.1

29 Jul 01:36
Compare
Choose a tag to compare
  • Change NotificationActionService to extend Service to work in foreground; to resolve unhandled markAsRead with JobIntentService.
  • Remove unused permissions: ACCESS_MEDIA_LOCATION, GET_ACCOUNTS, and WRITE_CONTACTS.
  • Need to add READ_EXTERNAL_STORAGE permission (Files and Media) request for android API-32.
  • Implement newly added READ_MEDIA_VISUAL_USER_SELECTED permission for android API-34.
  • Do not launch BatteryOptimization permission request within a dialog, else parseResult is based on dialog click.
  • ActivityResultContract#parseResult on BatteryOptimization request must return isOptimizingBattery() state.
  • Must set both shrinkResources and minifyEnabled to false for release build under API-34;
    else xmail crashes in Moshi with cannot serialize abstract class MessagingControllerCommands$PendingDelete
  • UpdateServiceImpl#isLatestVersion need to close inputStream after access end.
  • Update all app used libraries to the latest releases.

v5.1.0

20 Jul 01:31
Compare
Choose a tag to compare
  • Built target for Android 14.0 (UpsideDownCake) or API-34
  • Set app minSdk to API-24; diminish support in android libraries for < API-24
  • Add new permissions required for API-34 and change UI to support.
  • Drop com.jakewharton:butterknife-compiler:10.2.3 dependency (jdk-15 max restriction);
    use android View binding class instead.
  • Upgrade to OpenPGP-API version 12
  • Fix OpenPGP Application Provider availability check in Global Settings | Cryptography (queries settings)
  • Implement support of cleartextTraffic content loading in XMWebViewClient#shouldInterceptRequest()
  • Make UpdateServiceImpl() shows both version/code for installed and latest available debug apk.
  • Fix ContextCompat.registerReceiver flag setting: If this receiver is listening for broadcasts sent from the system
    or from other apps—even other apps that you own: then use RECEIVER_EXPORTED flag. If instead this receiver is listening
    only for broadcasts sent by your app, use the RECEIVER_NOT_EXPORTED flag; and broadcaster must setPackage(getPackageName()).
    • Use RECEIVER_EXPORTED for ActivityListener, UpdateServiceImpl, AttachmentTempFileProvider, and DecryptedFileProvider
    • Use RECEIVER_NOT_EXPORTED and required to setPackage(getPackageName()) in sendBroadcast for:
      DeviceIdleManager, UnreadWidgetProvider, XryptoMail, XryptoMailRemoteControl, BootReceiver, CoreReceiver, and MessageListWidgetProvider
  • Update gradle build environment to with gradle 8.0.0 and above:
    a. Use Android Studio Koala | 2024.1.1
    b. distributionUrl=https://services.gradle.org/distributions/gradle-8.2-bin.zip; not compatible with 8.5.
    c. classpath 'com.android.tools.build:gradle:8.2.2'
    d. Add to buildFeatures: dataBinding, viewBinding, and buildConfig to true; aidl true for oepnpgp
    e. Add namespace to xryptomail and openpgp modules
    f. Must add: tasks.withType(KotlinCompile.class){ kotlinOptions { jvmTarget = "1.8" } }
    to resolve compileDebugJavaWithJavac and kaptGenerateStubsDebugKotlin with incompatible Java version.
    g. Update gradle.properties to include:
    Gradle >=8.0.0: Library project resource identifiers are not constant static final ints, just static ints.
    android.nonFinalResIds=false
    • Gradle >=8.0.0: Allow transitive resource identifiers use in aTalk.
    • android.nonTransitiveRClass=false

v5.0.5

21 Aug 02:30
Compare
Choose a tag to compare

Version: 5.0.5
Upload Date: 08/19/2023

  • Built target for Android 13.0 (Tiramisu) or API-33
  • Update all XryptoMail third party libraries used to latest version if allowed
  • Fix UpdateServiceImpl to correctly define the path for versionupdate.properties, and auto generate the corresponding apk filename for download
  • Change downloaded apk path to ./xmail/tmp to auto create a new apk filename e.g. XryptoMail-debug-1.apk if exist;
    the FilePathHelper#getFilePathWithCreate() will keep old apk file if exit'.