Skip to content

v5.1.0

Compare
Choose a tag to compare
@cmeng-git cmeng-git released this 20 Jul 01:31
· 2 commits to master since this release
  • 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