Releases: element-hq/element-x-android
Releases · element-hq/element-x-android
Element X Android v25.08.3
What's Changed
✨ Features
- Add media file limit size warning and media quality selection by @jmartinesp in #5131
🐛 Bugfixes
- Fix cursor position in room list search by @jmartinesp in #5138
- Fix leaving the room not always dismissing the room screen by @jmartinesp in #5089
- Do not automatically initialize
DefaultVideoMetadataExtractor's data source by @jmartinesp in #5157 - Provide calculated server names when opening a room from another by @jmartinesp in #5155
🗣 Translations
- Sync Strings by @ElementBot in #5146
🧱 Build
- Compile and target sdk36 by @bmarty in #5150
- Fix Maestro regression when coming back from room to the search screen by @jmartinesp in #5156
Dependency upgrades
- Update android.gradle.plugin to v8.12.0 by @renovate[bot] in #5106
- Update wysiwyg to v2.39.0 by @renovate[bot] in #5080
- Update dependency python to 3.13 by @renovate[bot] in #5144
- Update rnkdsh/action-upload-diawi action to v1.5.11 by @renovate[bot] in #5141
- Update dependency io.github.sergio-sastre.ComposablePreviewScanner:android to v0.7.0 by @renovate[bot] in #5143
- Update actions/checkout action to v5 by @renovate[bot] in #5148
- Update dependency io.sentry:sentry-android to v8.19.0 by @renovate[bot] in #5149
- Update dependency io.sentry:sentry-android to v8.19.1 by @renovate[bot] in #5158
- Update dependency androidx.browser:browser to v1.9.0 by @renovate[bot] in #5096
- Update Compose bom to 2025.07.00 by @bmarty in #5164
- Update showkase to v1.0.5 by @renovate[bot] in #5117
- Update haze to v1.6.10 by @renovate[bot] in #5167
Others
- Let enterprise build be able to override (or disable) the bug report URL. by @bmarty in #5139
- Hide the recovery key while we are entering it by @jmartinesp in #5147
- Remove old feature flags by @bmarty in #5160
- Move push history entry point from notification settings to developer settings by @bmarty in #5161
Full Changelog: v25.08.2...v25.08.3
Element X Android v25.08.2
What's Changed
🐛 Bugfixes
- When mapping an invalid notification event, only drop that one by @jmartinesp in #5137
Dependency upgrades
- Update dependency io.nlopez.compose.rules:detekt to v0.4.27 by @renovate[bot] in #5123
- Update actions/download-artifact action to v5 by @renovate[bot] in #5122
- Update dependency net.zetetic:sqlcipher-android to v4.10.0 by @renovate[bot] in #5121
- Update dependency com.posthog:posthog-android to v3.20.2 by @renovate[bot] in #5133
- Update dependency com.google.firebase:firebase-bom to v34.1.0 by @renovate[bot] in #5136
Others
- [a11y] Open context menu with the keyboard by @bmarty in #5120
- Let enterprise build store the logs in a dedicated subfolder by @bmarty in #5132
- Redirect FOSS user to Element Pro according to element .well-known file by @bmarty in #5126
Full Changelog: v25.08.1...v25.08.2
Element X Android v25.08.1
WARNING: this version has a known bug with Element Call notifications, causing them to sometimes not be notified.
What's Changed
🙌 Improvements
- Force last owner of a room to pass ownership when leaving by @jmartinesp in #5094
🐛 Bugfixes
- Reload room member list when active members count changes by @jmartinesp in #5129
- Delegate call notifications to Element Call, upgrade SDK and EC embedded by @jmartinesp in #5119
🗣 Translations
- Sync Strings by @ElementBot in #5112
Dependency upgrades
Full Changelog: v25.08.0...v25.08.1
Element X Android v25.08.0
What's Changed
🐛 Bugfixes
- Fix
toPlainTextwhere<ol start='n'>tags appear by @jmartinesp in #5044 - Remove the scaling added in
Player.Listener.onVideoSizeChangedby @jmartinesp in #5055 - Make sure we clean up the pre-processed and uploaded media by @jmartinesp in #5039
- Calculate video output size taking into account portrait mode by @jmartinesp in #5068
- Prevent loop when exiting the attachments preview screen by @jmartinesp in #5078
- Prevent crash caused by re-release of wakelock in calls by @jmartinesp in #5077
- Make sure we display errors when we create a recovery key and it fails by @jmartinesp in #5079
- Fix crash when trying to get active notifications by @jmartinesp in #5085
- Adapt 'change roles' screens to the new creator/owner role by @jmartinesp in #5076
🗣 Translations
- Sync Strings by @ElementBot in #5021
- Sync Strings by @ElementBot in #5054
- Sync Strings by @ElementBot in #5083
🧱 Build
- Disable Element Call Maestro tests for the time being by @jmartinesp in #5064
📄 Documentation
- Grammar fixes for docs and comments by @andybalaam in #5043
- Note how to switch back to the published SDK after building locally by @andybalaam in #5042
Dependency upgrades
- Update dependency io.mockk:mockk to v1.14.5 by @renovate[bot] in #5037
- Update dependency androidx.lifecycle:lifecycle-process to v2.9.2 by @renovate[bot] in #5036
- Update dagger to v2.57 by @renovate[bot] in #5038
- Update haze to v1.6.9 by @renovate[bot] in #5045
- Update dependency io.nlopez.compose.rules:detekt to v0.4.24 by @renovate[bot] in #5053
- Update dependency io.nlopez.compose.rules:detekt to v0.4.25 by @renovate[bot] in #5058
- Update coil to v3.3.0 by @renovate[bot] in #5063
- Update dependency io.nlopez.compose.rules:detekt to v0.4.26 by @renovate[bot] in #5065
- Update dependency com.posthog:posthog-android to v3.20.0 by @renovate[bot] in #5067
- Update dependency com.google.firebase:firebase-bom to v34 by @renovate[bot] in #5061
- Update dependency org.matrix.rustcomponents:sdk-android to v25.7.23 by @renovate[bot] in #5073
- Update dependency com.posthog:posthog-android to v3.20.1 by @renovate[bot] in #5087
- Update dependency org.matrix.rustcomponents:sdk-android to v25.7.28 by @renovate[bot] in #5088
- Update dependency org.maplibre.gl:android-sdk to v11.13.0 by @renovate[bot] in #5093
- Update dependency androidx.test:runner to v1.7.0 by @renovate[bot] in #5102
- Update test.core to v1.7.0 by @renovate[bot] in #5104
- Update dependency androidx.test.ext:junit to v1.3.0 by @renovate[bot] in #5103
- Update dependency io.sentry:sentry-android to v8.18.0 by @renovate[bot] in #5097
Others
- Iterate on FloatingActionButton shape and colors. by @bmarty in #5033
- [a11y] Improve session verification screens by @bmarty in #5017
- misc (room id) : add room id regex pattern to match new versions by @ganfra in #5040
- Use lower level APIs to draw the message bubbles by @jmartinesp in #5056
- misc (store description) : update store description for fastlane by @ganfra in #5060
- [a11y] Improve accessibility on avatar when creating a room. by @bmarty in #5046
- Add fallback notifications from UTDs to the push history by @jmartinesp in #5047
- feature (media send queue) : enable send queue by default by @ganfra in #5098
- misc : re-enable share pos by default by @ganfra in #5108
Full Changelog: v25.07.1...v25.08.0
Element X Android v25.07.1
What's Changed
🐛 Bugfixes
- fix ( room list) : rebuild with filteredSummaries to avoid bad state by @ganfra in #4993
- Keep video rotation metadata when transcoding by @jmartinesp in #5008
🗣 Translations
- Sync Strings by @ElementBot in #4988
🧱 Build
- Update Gradle Wrapper from 8.14.2 to 8.14.3 by @ElementBot in #4985
- Stop ignoring dependencies, but instead set `open-pull-requests-limit to 0 by @bmarty in #5013
📄 Documentation
- Update to the status and clarifications with respect to the legacy app. by @mxandreas in #5016
🚧 In development 🚧
Dependency upgrades
- Update dependency io.element.android:compound-android to v25.7.4 by @renovate[bot] in #4984
- Update dependency org.matrix.rustcomponents:sdk-android to v25.7.7 by @renovate[bot] in #4989
- Update plugin ktlint to v13 by @renovate[bot] in #4992
- Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.7.1-0.6.x-compat by @renovate[bot] in #4991
- Update haze to v1.6.7 by @renovate[bot] in #4987
- Update dependency com.squareup.okhttp3:okhttp-bom to v5 by @renovate[bot] in #4979
- Update dependency io.sentry:sentry-android to v8.17.0 by @renovate[bot] in #4998
- Update dependency com.squareup.okhttp3:okhttp-bom to v5.1.0 by @renovate[bot] in #4997
- Update dependency org.maplibre.gl:android-sdk to v11.12.0 by @renovate[bot] in #5001
- Update dependency com.posthog:posthog-android to v3.19.2 by @renovate[bot] in #5009
- Update dependency org.maplibre.gl:android-sdk to v11.12.1 by @renovate[bot] in #5006
- Update android.gradle.plugin to v8.11.1 by @renovate[bot] in #5014
- Update rnkdsh/action-upload-diawi action to v1.5.10 by @renovate[bot] in #5019
- Update wysiwyg to v2.38.5 by @renovate[bot] in #5025
- Update haze to v1.6.8 by @renovate[bot] in #5026
- Update dependency org.matrix.rustcomponents:sdk-android to v25.7.15 by @renovate[bot] in #5011
Others
- Remove bloom effect and replace by linear gradient by @bmarty in #4926
- misc (a11y) : mark MainActionButton icon as decorative by @ganfra in #4996
- Make
ContentAvoidingLayoutDataan immutable data class by @jmartinesp in #4999 - Remove unused composable and cleanup colors by @bmarty in #5000
- Add a feature flag to reuse the last
posvalue for initial syncs by @jmartinesp in #5010 - [a11y] Fix several issues around accessibility by @bmarty in #5007
- Replace video transcoder with Media3 Transformer by @jmartinesp in #5018
Full Changelog: v25.07.0...v25.07.1
Element X Android v25.07.0
What's Changed
🙌 Improvements
- Change : handle invalid invite error by @ganfra in #4909
- Add ability to zoom on video. by @bmarty in #4916
- Change : sync moderation and safety preferences with server by @ganfra in #4962
🐛 Bugfixes
- Restore
MarkdownEditText.focusSearchoverride by @jmartinesp in #4908 - Fix duplicate usage of a
modifiervariable inTextInputBoxby @jmartinesp in #4928
🗣 Translations
- Sync Strings - new translations to Danish by @ElementBot in #4913
- Sync Strings by @ElementBot in #4983
🧱 Build
- a11y: Add scripts to enable and disable the talkback service by @jmartinesp in #4906
- Update min api level to 33 for Element enterprise by @bmarty in #4960
🚧 In development 🚧
Dependency upgrades
- fix(deps): update dependency org.unifiedpush.android:connector to v3.0.10 by @renovate in #4871
- fix(deps): update dependency io.sentry:sentry-android to v8.14.0 by @renovate in #4892
- fix(deps): update dependency com.google.crypto.tink:tink-android to v1.18.0 by @renovate in #4897
- fix(deps): update wysiwyg to v2.38.4 by @renovate in #4907
- fix(deps): update dependency org.robolectric:robolectric to v4.15 by @renovate in #4901
- fix(deps): update dependency androidx.sqlite:sqlite-ktx to v2.5.2 by @renovate in #4898
- fix(deps): update dependency io.mockk:mockk to v1.14.4 by @renovate in #4912
- fix(deps): update dependency org.robolectric:robolectric to v4.15.1 by @renovate in #4911
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.23 by @renovate in #4917
- fix(deps): update dependencyanalysis to v2.19.0 by @renovate in #4932
- fix(deps): update dependency org.jsoup:jsoup to v1.21.1 by @renovate in #4914
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.25 by @renovate in #4936
- fix(deps): update dependency io.sentry:sentry-android to v8.15.0 by @renovate in #4938
- fix(deps): update dependency org.maplibre.gl:android-sdk to v11.11.0 by @renovate in #4939
- fix(deps): update dependency com.google.firebase:firebase-bom to v33.16.0 by @renovate in #4945
- fix(deps): update dependency io.sentry:sentry-android to v8.16.0 by @renovate in #4941
- Update sdk to version 25.7.1 by @bmarty in #4966
- Update haze to v1.6.6 by @renovate in #4968
- Update dependency com.google.gms:google-services to v4.4.3 by @renovate in #4946
- Update android.gradle.plugin to v8.11.0 by @renovate in #4931
- Update dependency io.element.android:element-call-embedded to v0.13.0 by @renovate in #4969
- Update dependency org.matrix.rustcomponents:sdk-android to v25.7.2 by @renovate in #4967
- Upgrade compose bom to 2025.06.01 by @bmarty in #4970
- Update kotlin by @renovate in #4918
- Update dependency io.element.android:element-call-embedded to v0.13.1 by @renovate in #4977
- Update dependency org.matrix.rustcomponents:sdk-android to v25.7.3 by @ganfra in #4976
Others
- a11y: Make isTalkbackActive() live. by @bmarty in #4903
- a11y: improve accessibility on grouped state events header. by @bmarty in #4902
- Room debug info by @bmarty in #4904
- [a11y] Improve accessibility of message composer by @bmarty in #4900
- refactor: Migrate SQLCipher Android to new API by @ShadowRZ in #4874
- Iterate on avatar to be able to render Space avatar. by @bmarty in #4921
- Simplify syncing the room list when receiving a push by @jmartinesp in #4915
- Add unit test on ChooseAccountProviderState so that the coverage is above 90% by @bmarty in #4924
- Iterate on avatar to be able to render Space avatar Part2 by @bmarty in #4923
- Introduce SessionEnterpriseService. by @bmarty in #4925
- Simplify message composer layout by @jmartinesp in #4884
- Display error dialog if Element Call can't be joined by @jmartinesp in #4919
- misc : simplify timeline diff logic by @ganfra in #4930
- Navigation bar component by @bmarty in #4940
- a11y: improve content description of the close buttons by @bmarty in #4943
- Element Call: remove top app bar and add it inside the webview instead by @jmartinesp in #4927
- Replace the Report a problem button with the app's version on the on boading screen. by @bmarty in #4944
- Split RoomListPresenter and introduce HomePresenter by @bmarty in #4958
- Add "View avatar" content description to all clickable Avatar that will open the avatar preview. by @bmarty in #4948
- [a11y] Ensure that the focus is not lost when the send button state change by @bmarty in #4975
- [a11y] add missing heading() qualifier on screen titles and other headers by @bmarty in #4980
- misc (tracing) : add new TraceLogPack.Notification by @ganfra in #4981
Full Changelog: v25.06.3...v25.07.0
Element X Android v25.06.3
What's Changed
✨ Features
- Feature : room version upgrade by @ganfra in #4862
- Add a developer option for history sharing on invite by @richvdh in #4821
🙌 Improvements
- Change : add tombstoned room decoration by @ganfra in #4891
- Show generic notification when Event cannot be resolved by @bmarty in #4889
🐛 Bugfixes
- [a11y] Improve screen reader on polls by @bmarty in #4875
- fix (event action): allow to edit only if permission to send message by @ganfra in #4895
- fix (room upgrade) : room predecessor banner on DM room by @ganfra in #4896
- fix (join room) : do not navigate up when join is successful by @ganfra in #4899
🗣 Translations
- Sync Strings by @ElementBot in #4842
- Sync Strings by @ElementBot in #4881
Dependency upgrades
- chore(deps): update plugin dependencycheck to v12.1.3 by @renovate in #4856
- fix(deps): update dependency org.maplibre.gl:android-sdk to v11.10.2 by @renovate in #4858
- fix(deps): update kotlin to v2.1.21-2.0.2 by @renovate in #4850
- fix(deps): update dependency app.cash.turbine:turbine to v1.2.1 by @renovate in #4865
- Update dependency com.posthog:posthog-android to v3.18.0 by @renovate in #4873
- Update dependency org.maplibre.gl:android-sdk to v11.10.3 by @renovate in #4879
- fix(deps): update dependency com.posthog:posthog-android to v3.19.0 by @renovate in #4882
- fix(deps): update dependency io.sentry:sentry-android to v8.13.3 by @renovate in #4870
- fix(deps): update showkase to v1.0.4 by @renovate in #4878
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.18 by @renovate in #4894
Others
- Annotate Composable functions with
@ReadOnlyComposablewhere it's possible by @bmarty in #4859 - Add documentation on WebViewPipController by @bmarty in #4861
- Small cleanup around log tag. by @bmarty in #4860
- Another cleanup by @bmarty in #4869
- Disable BT audio devices for Element Call on Android < 12 by @jmartinesp in #4876
- Add a banner to ask the user to disable battery optimization when Event cannot be resolved from Push by @bmarty in #4845
- a11y: improve accessibility on rich text editor options. by @bmarty in #4886
- A11Y: improve accessibility on event reactions. by @bmarty in #4877
Full Changelog: v25.06.2...v25.06.3
Element X Android v25.06.2
🔒 Security
- Upgrade the matrix-rust-sdk to resolve a High severity security issue (CVE-2025-48937, GHSA-x958-rvg6-956w): Check the sender of an event matches owner of session, preventing sender spoofing by homeserver owners.
What's Changed
🐛 Bugfixes
- Fix crash when using Element Call on API <= 30 by @jmartinesp in #4847
- Element Call: add delay before selecting the default audio device by @jmartinesp in #4854
- Fix for message composer losing focus in Compose 1.8.0 by @jmartinesp in #4853
Dependency upgrades
- chore(deps): update plugin dependencycheck to v12.1.2 by @renovate in #4840
- deps (matrix rust sdk) : bump version to 25.06.10 by @ganfra in #4855
Others
Full Changelog: v25.06.1...v25.06.2
Element X Android v25.06.1
WARNING: this release contains several issues that may break your day to day use and were discovered after uploading it to Github. We advise NOT TO INSTALL IT:
- Sync loop breaks when received rooms have a problematic upgrade state: #4843
- Message composer not working properly when replying/editing messages: #4846
What's Changed
✨ Features
- Enable support for Android Auto. by @bmarty in #4818
- Element Call: Add audio output selector handled by Android by @jmartinesp in #4663
🙌 Improvements
- Oidc: Fallback to external browser instead of using Webview by @bmarty in #4808
- change (room member moderation) : update icon to match figma by @ganfra in #4837
🐛 Bugfixes
- Fix login flow by @bmarty in #4813
- fix: When sending media as files use the
octet-streamtype by @jmartinesp in #4815 - fix: Make
Client.findDMreturn aResultby @jmartinesp in #4816 - Mark room as fully read when user goes back to the room list. by @bmarty in #2687
- fix (identity change) : RoomMemberIdentityStateChange in non encrypted room by @ganfra in #4824
- Fix room and user avatar downloaded with a
.binextension. by @bmarty in #4830 - Log the push resolving failure reason if available by @jmartinesp in #4835
🧱 Build
- Update Gradle Wrapper from 8.14.1 to 8.14.2 by @ElementBot in #4831
Dependency upgrades
- fix(deps): update dependency androidx.compose:compose-bom to v2025.04.01 by @renovate in #4631
- fix(deps): update dependency androidx.compose:compose-bom to v2025.05.01 by @renovate in #4814
- fix(deps): update dependency io.sentry:sentry-android to v8.13.2 by @renovate in #4780
- fix(deps): update appyx to v1.7.1 by @renovate in #4672
- fix(deps): update telephoto to v0.16.0 by @renovate in #4749
- fix(deps): update coil to v3.2.0 by @renovate in #4712
- fix(deps): update dependency androidx.webkit:webkit to v1.14.0 by @renovate in #4823
- fix(deps): update dependency com.posthog:posthog-android to v3.17.0 by @renovate in #4827
- fix(deps): update dependency io.element.android:element-call-embedded to v0.12.2 by @renovate in #4832
- fix(deps): update dependency com.google.firebase:firebase-bom to v33.15.0 by @renovate in #4833
- fix(deps): update dependency org.maplibre.gl:android-sdk to v11.10.1 by @renovate in #4825
- fix(deps): update lifecycle to v2.9.1 by @renovate in #4822
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.6 by @renovate in #4834
- fix(deps): update dependency io.element.android:opusencoder to v1.2.0 by @renovate in #4836
Others
- Add
catchingExceptionsmethod to replacerunCatchingby @jmartinesp in #4797 - Rename classes overriding classes from the FFI layer. by @bmarty in #4817
- Fix coroutine scope by @bmarty in #4820
- Add extra logs the 'send call notification' flow by @jmartinesp in #4819
- misc (matrix) : use innerClient.subscribeToRoomInfo sdk method by @ganfra in #4838
Full Changelog: v25.06.0...v25.06.1
Element X Android v25.06.0
What's Changed
✨ Features
🙌 Improvements
- On boarding flow: add a screen to select account provider among a fixed list by @bmarty in #4769
- Change : RoomMember moderation by @ganfra in #4779
🐛 Bugfixes
- Fix left room membership change by @ganfra in #4765
- fix: exclude more domains from being backed up by the system by @lucasmz-dev in #4773
- Make sure HeaderFooterPage contents can be scrolled by @jmartinesp in #4704
- Fix mobile link by @bmarty in #4805
🗣 Translations
- Sync Strings by @ElementBot in #4775
- Sync Strings by @ElementBot in #4804
🧱 Build
- Maestro: fix MAS and EC breaking the tests by @jmartinesp in #4762
- Update Gradle Wrapper from 8.14 to 8.14.1 by @ElementBot in #4766
- Stronger lambda error by @bmarty in #4771
- Use Localazy's
langAliasesfor Indonesian language by @jmartinesp in #4801
Dependency upgrades
- fix(deps): update datastore to v1.1.7 by @renovate in #4754
- fix(deps): update dependency org.maplibre.gl:android-sdk to v11.8.8 by @renovate in #4721
- chore(deps): update plugin ktlint to v12.3.0 by @renovate in #4767
- fix(deps): update dependency com.google.firebase:firebase-bom to v33.14.0 by @renovate in #4755
- Update UnifiedPush library by @bmarty in #4358
- fix(deps): update sqldelight to v2.1.0 by @renovate in #4735
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.5.26 by @renovate in #4781
- fix(deps): update dependency com.posthog:posthog-android to v3.15.1 by @renovate in #4787
- fix(deps): update dependency com.posthog:posthog-android to v3.16.0 by @renovate in #4789
- fix(deps): update dependency io.element.android:element-call-embedded to v0.12.0 by @renovate in #4743
- fix(deps): update dependencyanalysis to v2.18.0 by @renovate in #4796
- fix(deps): update android.gradle.plugin to v8.10.1 by @renovate in #4795
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.5.29 by @renovate in #4799
- fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.3 by @renovate in #4810
Others
- fix(deps): update media3 to v1.7.1 by @renovate in #4733
- fix: Ignore global proxy settings if system thinks there's none by @ShadowRZ in #4744
- Add
ActiveRoomHolderto manage the active room for a session by @jmartinesp in #4758 - Notification events resolving and rendering in batches by @jmartinesp in #4722
- Hide Element Call entry point if Element Call service is not available. by @bmarty in #4783
- Fix dependencies on test by @bmarty in #4790
- Update _developer_onboarding.md by @lex-neufeld in #4570
New Contributors
- @lucasmz-dev made their first contribution in #4773
- @lex-neufeld made their first contribution in #4570
Full Changelog: v25.05.4...v25.06.0