diff --git a/CHANGES.md b/CHANGES.md index 905f178526..e5ce4dc1ab 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,39 @@ +Changes in Element v1.6.0 (2023-05-17) +====================================== + +Features ✨ +---------- + - **Element Android is now using the Crypto Rust SDK**. Migration of user's data should be done at first launch after application upgrade. ([#8390](https://github.com/vector-im/element-android/issues/8390)) + - Enable free style cropping for camera and gallery images ([#8325](https://github.com/vector-im/element-android/issues/8325)) + +Bugfixes 🐛 +---------- + - User pills get lost at message editing ([#748](https://github.com/vector-im/element-android/issues/748)) + - Upgrade Jitsi SDK from 6.2.2 to 8.1.1. This fixes video call on some Android devices. ([#7619](https://github.com/vector-im/element-android/issues/7619)) + - Fix duplicate reactions when using full emoji picker. Contributed by @tulir @ Beeper. ([#8327](https://github.com/vector-im/element-android/issues/8327)) + - Fix: RustCrossSigning service API confusion (identity trusted vs own device trusted by identity) ([#8352](https://github.com/vector-im/element-android/issues/8352)) + - Allow custom push gateway to use non-default port ([#8376](https://github.com/vector-im/element-android/issues/8376)) + - Fix crash when opening "Protect access" screen, and various other issue with `repeatOnLifecycle` ([#8410](https://github.com/vector-im/element-android/issues/8410)) + - RustCrypto: Verification UX not refreshed after scanning a QR code ([#8418](https://github.com/vector-im/element-android/issues/8418)) + +SDK API changes ⚠️ +------------------ + - First integration of rust crypto module. See documentation for details `docs/rust_crypto_integration.md` ([#7628](https://github.com/vector-im/element-android/issues/7628)) + - Add crypto database migration 22, that extract account and olm session to the new rust DB format ([#8405](https://github.com/vector-im/element-android/issues/8405)) + +Other changes +------------- + - Add an audio alert when the voice broadcast recording is automatically paused ([#8339](https://github.com/vector-im/element-android/issues/8339)) + - Analytics: add crypto module to E2E events ([#8340](https://github.com/vector-im/element-android/issues/8340)) + - Bump rust crypto crate to 0.3.5 ([#8354](https://github.com/vector-im/element-android/issues/8354)) + - Expose Rust SDK Version in Help & About page and in Bug Reports ([#8364](https://github.com/vector-im/element-android/issues/8364)) + - Matrix-Ids are sometimes shown in notice events instead of display names ([#8365](https://github.com/vector-im/element-android/issues/8365)) + - CI: Add workflow to run test with crypto flavor ([#8366](https://github.com/vector-im/element-android/issues/8366)) + - Remove ability to migrate session from Riot to Element. ([#8402](https://github.com/vector-im/element-android/issues/8402)) + - Improve keyboard navigation and accessibility when using a screen reader. ([#8426](https://github.com/vector-im/element-android/issues/8426)) + - Updated posthog url (cosmetic, target same server) and added a new sentry env. ([#8436](https://github.com/vector-im/element-android/issues/8436)) + + Changes in Element v1.5.32 (2023-04-19) ======================================= diff --git a/changelog.d/748.bugfix b/changelog.d/748.bugfix deleted file mode 100644 index cc33be0033..0000000000 --- a/changelog.d/748.bugfix +++ /dev/null @@ -1 +0,0 @@ -User pills get lost at message editing \ No newline at end of file diff --git a/changelog.d/7619.bugfix b/changelog.d/7619.bugfix deleted file mode 100644 index a41cf5321f..0000000000 --- a/changelog.d/7619.bugfix +++ /dev/null @@ -1 +0,0 @@ -Upgrade Jitsi SDK from 6.2.2 to 8.1.1. This fixes video call on some Android devices. diff --git a/changelog.d/7628.sdk b/changelog.d/7628.sdk deleted file mode 100644 index d9886730fd..0000000000 --- a/changelog.d/7628.sdk +++ /dev/null @@ -1 +0,0 @@ -First integration of rust crypto module. See documentation for details `docs/rust_crypto_integration.md` diff --git a/changelog.d/8325.feature b/changelog.d/8325.feature deleted file mode 100644 index 59e57838f8..0000000000 --- a/changelog.d/8325.feature +++ /dev/null @@ -1 +0,0 @@ -Enable free style cropping for camera and gallery images diff --git a/changelog.d/8327.bugfix b/changelog.d/8327.bugfix deleted file mode 100644 index d1e57f4c16..0000000000 --- a/changelog.d/8327.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix duplicate reactions when using full emoji picker. Contributed by @tulir @ Beeper. diff --git a/changelog.d/8339.misc b/changelog.d/8339.misc deleted file mode 100644 index 2fed9c438b..0000000000 --- a/changelog.d/8339.misc +++ /dev/null @@ -1 +0,0 @@ -Add an audio alert when the voice broadcast recording is automatically paused diff --git a/changelog.d/8340.misc b/changelog.d/8340.misc deleted file mode 100644 index 52556b5b42..0000000000 --- a/changelog.d/8340.misc +++ /dev/null @@ -1 +0,0 @@ -Analytics: add crypto module to E2E events diff --git a/changelog.d/8352.bugfix b/changelog.d/8352.bugfix deleted file mode 100644 index 695c02715e..0000000000 --- a/changelog.d/8352.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix: RustCrossSigning service API confusion (identity trusted vs own device trusted by identity) diff --git a/changelog.d/8354.misc b/changelog.d/8354.misc deleted file mode 100644 index f26be92ed6..0000000000 --- a/changelog.d/8354.misc +++ /dev/null @@ -1 +0,0 @@ -Bump rust crypto crate to 0.3.5 diff --git a/changelog.d/8364.misc b/changelog.d/8364.misc deleted file mode 100644 index 27bf6b975a..0000000000 --- a/changelog.d/8364.misc +++ /dev/null @@ -1 +0,0 @@ -Expose Rust SDK Version in Help & About page and in Bug Reports diff --git a/changelog.d/8365.misc b/changelog.d/8365.misc deleted file mode 100644 index ef9bbdca04..0000000000 --- a/changelog.d/8365.misc +++ /dev/null @@ -1 +0,0 @@ -Matrix-Ids are sometimes shown in notice events instead of display names diff --git a/changelog.d/8366.misc b/changelog.d/8366.misc deleted file mode 100644 index 87c5271688..0000000000 --- a/changelog.d/8366.misc +++ /dev/null @@ -1 +0,0 @@ -CI: Add workflow to run test with crypto flavor diff --git a/changelog.d/8376.bugfix b/changelog.d/8376.bugfix deleted file mode 100644 index 2c30a1e540..0000000000 --- a/changelog.d/8376.bugfix +++ /dev/null @@ -1 +0,0 @@ -Allow custom push gateway to use non-default port \ No newline at end of file diff --git a/changelog.d/8390.feature b/changelog.d/8390.feature deleted file mode 100644 index cc430a5a42..0000000000 --- a/changelog.d/8390.feature +++ /dev/null @@ -1 +0,0 @@ -Element Android is now using the Crypto Rust SDK. Migration of user's data should be done at first launch after application upgrade. diff --git a/changelog.d/8402.misc b/changelog.d/8402.misc deleted file mode 100644 index c493b6bf92..0000000000 --- a/changelog.d/8402.misc +++ /dev/null @@ -1 +0,0 @@ -Remove ability to migrate session from Riot to Element. diff --git a/changelog.d/8405.sdk b/changelog.d/8405.sdk deleted file mode 100644 index c8d165fcdc..0000000000 --- a/changelog.d/8405.sdk +++ /dev/null @@ -1 +0,0 @@ -Add crypto database migration 22, that extract account and olm session to the new rust DB format diff --git a/changelog.d/8410.bugfix b/changelog.d/8410.bugfix deleted file mode 100644 index f72d02e0b4..0000000000 --- a/changelog.d/8410.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix crash when opening "Protect access" screen, and various other issue with `repeatOnLifecycle` diff --git a/changelog.d/8418.bugfix b/changelog.d/8418.bugfix deleted file mode 100644 index 9b5a2e2fa4..0000000000 --- a/changelog.d/8418.bugfix +++ /dev/null @@ -1 +0,0 @@ -RustCrypto: Verification UX not refreshed after scanning a QR code diff --git a/changelog.d/8426.misc b/changelog.d/8426.misc deleted file mode 100644 index 6e3b5013c8..0000000000 --- a/changelog.d/8426.misc +++ /dev/null @@ -1 +0,0 @@ -Improve keyboard navigation and accessibility when using a screen reader. diff --git a/changelog.d/8436.misc b/changelog.d/8436.misc deleted file mode 100644 index ab174eca5b..0000000000 --- a/changelog.d/8436.misc +++ /dev/null @@ -1 +0,0 @@ -Updated posthog url (cosmetic, target same server) and added a new sentry env. diff --git a/fastlane/metadata/android/en-US/changelogs/40106000.txt b/fastlane/metadata/android/en-US/changelogs/40106000.txt new file mode 100644 index 0000000000..badf979955 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40106000.txt @@ -0,0 +1,2 @@ +Main changes in this version: Element Android is now using the Crypto Rust SDK. +Full changelog: https://github.com/vector-im/element-android/releases diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index 9c230bb400..3c1f970bee 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -63,7 +63,7 @@ android { // that the app's state is completely cleared between tests. testInstrumentationRunnerArguments clearPackageData: 'true' - buildConfigField "String", "SDK_VERSION", "\"1.5.34\"" + buildConfigField "String", "SDK_VERSION", "\"1.6.0\"" buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\"" buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\"" diff --git a/tools/release/releaseScript.sh b/tools/release/releaseScript.sh index cf9671c1dc..e140560e52 100755 --- a/tools/release/releaseScript.sh +++ b/tools/release/releaseScript.sh @@ -160,11 +160,11 @@ adb -e uninstall im.vector.app.debug.test printf "\n================================================================================\n" printf "Running the integration test UiAllScreensSanityTest.allScreensTest()...\n" -./gradlew connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest +./gradlew connectedGplayRustCryptoDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest printf "\n================================================================================\n" printf "Building the app...\n" -./gradlew assembleGplayDebug +./gradlew assembleGplayRustCryptoDebug printf "\n================================================================================\n" printf "Uninstalling previous debug app if any...\n" @@ -172,7 +172,7 @@ adb -e uninstall im.vector.app.debug printf "\n================================================================================\n" printf "Installing the app...\n" -adb -e install ./vector-app/build/outputs/apk/gplay/debug/vector-gplay-arm64-v8a-debug.apk +adb -e install ./vector-app/build/outputs/apk/gplayRustCrypto/debug/vector-gplay-rustCrypto-arm64-v8a-debug.apk printf "\n================================================================================\n" printf "Running the app...\n" @@ -267,7 +267,7 @@ fi printf "\n================================================================================\n" printf "Wait for the GitHub action https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%%3Amain to build the 'main' branch.\n" -read -p "After GHA is finished, please enter the artifact URL (for 'vector-gplay-release-unsigned'): " artifactUrl +read -p "After GHA is finished, please enter the artifact URL (for 'vector-gplay-rustCrypto-release-unsigned'): " artifactUrl printf "\n================================================================================\n" printf "Downloading the artifact...\n" @@ -290,70 +290,70 @@ set -e printf "\n================================================================================\n" printf "Unzipping the artifact...\n" -unzip ${targetPath}/vector-gplay-release-unsigned.zip -d ${targetPath} +unzip ${targetPath}/vector-gplay-rustCrypto-release-unsigned.zip -d ${targetPath} # Flatten folder hierarchy -mv ${targetPath}/gplay/release/* ${targetPath} +mv ${targetPath}/gplayRustCrypto/release/* ${targetPath} rm -rf ${targetPath}/gplay printf "\n================================================================================\n" printf "Signing the APKs...\n" -cp ${targetPath}/vector-gplay-arm64-v8a-release-unsigned.apk \ - ${targetPath}/vector-gplay-arm64-v8a-release-signed.apk +cp ${targetPath}/vector-gplay-rustCrypto-arm64-v8a-release-unsigned.apk \ + ${targetPath}/vector-gplay-rustCrypto-arm64-v8a-release-signed.apk ./tools/release/sign_apk_unsafe.sh \ ${keyStorePath} \ - ${targetPath}/vector-gplay-arm64-v8a-release-signed.apk \ + ${targetPath}/vector-gplay-rustCrypto-arm64-v8a-release-signed.apk \ ${keyStorePassword} \ ${keyPassword} -cp ${targetPath}/vector-gplay-armeabi-v7a-release-unsigned.apk \ - ${targetPath}/vector-gplay-armeabi-v7a-release-signed.apk +cp ${targetPath}/vector-gplay-rustCrypto-armeabi-v7a-release-unsigned.apk \ + ${targetPath}/vector-gplay-rustCrypto-armeabi-v7a-release-signed.apk ./tools/release/sign_apk_unsafe.sh \ ${keyStorePath} \ - ${targetPath}/vector-gplay-armeabi-v7a-release-signed.apk \ + ${targetPath}/vector-gplay-rustCrypto-armeabi-v7a-release-signed.apk \ ${keyStorePassword} \ ${keyPassword} -cp ${targetPath}/vector-gplay-x86-release-unsigned.apk \ - ${targetPath}/vector-gplay-x86-release-signed.apk +cp ${targetPath}/vector-gplay-rustCrypto-x86-release-unsigned.apk \ + ${targetPath}/vector-gplay-rustCrypto-x86-release-signed.apk ./tools/release/sign_apk_unsafe.sh \ ${keyStorePath} \ - ${targetPath}/vector-gplay-x86-release-signed.apk \ + ${targetPath}/vector-gplay-rustCrypto-x86-release-signed.apk \ ${keyStorePassword} \ ${keyPassword} -cp ${targetPath}/vector-gplay-x86_64-release-unsigned.apk \ - ${targetPath}/vector-gplay-x86_64-release-signed.apk +cp ${targetPath}/vector-gplay-rustCrypto-x86_64-release-unsigned.apk \ + ${targetPath}/vector-gplay-rustCrypto-x86_64-release-signed.apk ./tools/release/sign_apk_unsafe.sh \ ${keyStorePath} \ - ${targetPath}/vector-gplay-x86_64-release-signed.apk \ + ${targetPath}/vector-gplay-rustCrypto-x86_64-release-signed.apk \ ${keyStorePassword} \ ${keyPassword} # Ref: https://docs.fastlane.tools/getting-started/android/beta-deployment/#uploading-your-app -# set SUPPLY_APK_PATHS="${targetPath}/vector-gplay-arm64-v8a-release-unsigned.apk,${targetPath}/vector-gplay-armeabi-v7a-release-unsigned.apk,${targetPath}/vector-gplay-x86-release-unsigned.apk,${targetPath}/vector-gplay-x86_64-release-unsigned.apk" +# set SUPPLY_APK_PATHS="${targetPath}/vector-gplay-rustCrypto-arm64-v8a-release-unsigned.apk,${targetPath}/vector-gplay-rustCrypto-armeabi-v7a-release-unsigned.apk,${targetPath}/vector-gplay-rustCrypto-x86-release-unsigned.apk,${targetPath}/vector-gplay-rustCrypto-x86_64-release-unsigned.apk" # # ./fastlane beta printf "\n================================================================================\n" printf "Please check the information below:\n" -printf "File vector-gplay-arm64-v8a-release-signed.apk:\n" -${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-arm64-v8a-release-signed.apk | grep package -printf "File vector-gplay-armeabi-v7a-release-signed.apk:\n" -${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-armeabi-v7a-release-signed.apk | grep package -printf "File vector-gplay-x86-release-signed.apk:\n" -${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-x86-release-signed.apk | grep package -printf "File vector-gplay-x86_64-release-signed.apk:\n" -${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-x86_64-release-signed.apk | grep package +printf "File vector-gplay-rustCrypto-arm64-v8a-release-signed.apk:\n" +${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-rustCrypto-arm64-v8a-release-signed.apk | grep package +printf "File vector-gplay-rustCrypto-armeabi-v7a-release-signed.apk:\n" +${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-rustCrypto-armeabi-v7a-release-signed.apk | grep package +printf "File vector-gplay-rustCrypto-x86-release-signed.apk:\n" +${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-rustCrypto-x86-release-signed.apk | grep package +printf "File vector-gplay-rustCrypto-x86_64-release-signed.apk:\n" +${buildToolsPath}/aapt dump badging ${targetPath}/vector-gplay-rustCrypto-x86_64-release-signed.apk | grep package printf "\n" read -p "Does it look correct? Press enter when it's done." printf "\n================================================================================\n" read -p "Installing apk on a real device, press enter when a real device is connected. " -apkPath="${targetPath}/vector-gplay-arm64-v8a-release-signed.apk" +apkPath="${targetPath}/vector-gplay-rustCrypto-arm64-v8a-release-signed.apk" adb -d install ${apkPath} read -p "Please run the APK on your phone to check that the upgrade went well (no init sync, etc.). Press enter when it's done." diff --git a/vector-app/build.gradle b/vector-app/build.gradle index 2abf6526d2..ebcc9c76ac 100644 --- a/vector-app/build.gradle +++ b/vector-app/build.gradle @@ -33,11 +33,11 @@ knit { // Note: 2 digits max for each value ext.versionMajor = 1 -ext.versionMinor = 5 +ext.versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -ext.versionPatch = 34 +ext.versionPatch = 0 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct'