This update features a major search rework, SSH agent support for Android via Termux, and the ability to import SSH keys from files. Search now prioritizes title matches and displays context as a badge. You can also batch-edit tags for multiple items. Further improvements include Bash syntax highlighting and optimized Watchtower processing. Key fixes address desktop SSH agent startup loops, cmd:// URI handling, and gracefully handle invalid TOTP keys and SSH agent failures on Android.
All changes
- 0601d320 - improvement: Basic syntax highlighting for the Bash code snippets
- 76b62959 - improvement: More consistent padding on search qualifier popup
- 556891e7 - chore: Bump app version to 2.7.0
- 32461784 - improvement: Increase the max height of the SSH request window so the fingerprint icon fits properly
- 5a43351b - Merge pull request #1327 from AChep/localization_action
- 319a785b - Merge pull request #1337 from AChep/tld_public_suffix_list_action
- 47f08d12 - Merge pull request #1338 from AChep/tfa_2factorauth_action
- ba46532c - Merge pull request #1339 from AChep/justdeleteme_action
- a4b12bad - [AUTO] Update localization library
- 3a0bff06 - [AUTO] Update justdeleteme library
- 7323aaec - [AUTO] Update two-factor auth library
- 628d679b - [AUTO] Update Public suffix list
- b0716995 - improvement(Desktop): Retry starting up the SSH agent before giving up
- bc912119 - fix(UI): On edit cipher screen show invalid (deleted) folder as No folder #1330
- ea26480a - chore: Bump Compose Multiplatform components to their respectable versions
- 58bc1e2e - chore: Bump Compose Multiplatform from 1.11.0-alpha04 to 1.11.0-beta01
- e4022b25 - fix(Android): Gracefully handle failures in the SSH agent bridge
- 3dba1d6c - chore(Android): Uncomment .debug suffix for debug builds
- efa31d30 - Merge pull request #1335 from AChep/dependabot/gradle/com.google.firebase-firebase-bom-34.11.0
- 24b18533 - Merge pull request #1334 from AChep/dependabot/gradle/com.hierynomus-sshj-0.40.0
- 6ca45b89 - feat(Android): SSH Agent support via a custom Termux package #884
- 31f11f68 - fix(Desktop): SSH agent restarts multiple times on app launch
- 72bdedbf - docs: Remove repository map from AGENTS.md
- 8d8857b0 - build(deps): Bump com.google.firebase:firebase-bom
- e0bd6a4b - build(deps): Bump com.hierynomus:sshj from 0.38.0 to 0.40.0
- bd2f6b8d - fix: Stop cmd:// URIs from being recognized as Web platform, which prevents a user from executing the command #1261
- 5ef22bcb - fix(Linux): Mark jspawnhelper as executable #640 #1261
- 24c8ed4f - Merge pull request #1331 from AChep/dependabot/github_actions/apple-actions/import-codesign-certs-6.1.0
- 17b358d5 - Merge pull request #1332 from AChep/dependabot/gradle/arrow-2.2.2.1
- 30edbae4 - Merge pull request #1333 from AChep/dependabot/gradle/touchIcon-0.9.12
- a7aa0681 - build(deps): Bump touchIcon from 0.9.11 to 0.9.12
- 11e13f85 - build(deps): Bump arrow from 2.2.2 to 2.2.2.1
- 38b7171e - build(deps): Bump apple-actions/import-codesign-certs
- c13d67b0 - chore(Android): Fix build by adding sun.security.x509.X509Key to R8's donotwarn
- 746454bf - Merge pull request #1328 from AChep/dependabot/gradle/androidx.activity-activity-compose-1.13.0
- 673cbee4 - Merge pull request #1329 from AChep/dependabot/gradle/sqldelight-2.3.2
- f690f4c4 - feat: Add support for importing SSH keys from files #1326
- d4dc2b70 - refactor(Android): Migrate from deprecated APIs for edge-to-edge
- a93d9f9c - fix(Desktop): Show toast messages on the focused window
- bc7c2f4a - build(deps): Bump sqldelight from 2.3.1 to 2.3.2
- 4bea6934 - build(deps): Bump androidx.activity:activity-compose
- 89ee6f93 - docs: Add VAULT_SEARCH section
- 8700ac23 - fix: Handle invalid TOTP secret key gracefully
- 5d78ba3d - improvement(UI): Insert/delete animation for add a cipher screen's items
- 37fa7345 - improvement(Vault): Set tags on multiple ciphers in batch #1181
- 47c62e09 - refactor: Add a comment about mutablePersistedFlow(...)
- c9a3f7f4 - improvement(search): Always highlight a title match if there's one
- 204153c8 - improvement(search): Boost title field impact
- 90dfd060 - improvement(search,UI): Display search context as a badge
- e62fa8ce - tests(search): Add search benchmark
- 98fb6207 - Merge pull request #1325 from AChep/dependabot/gradle/androidx.benchmark-benchmark-macro-junit4-1.5.0-alpha04
- f5b1f0f8 - Merge pull request #1320 from AChep/dependabot/github_actions/crowdin/github-action-2.15.2
- ad96da5c - Merge pull request #1321 from AChep/dependabot/github_actions/reactivecircus/android-emulator-runner-2.37.0
- ea15db47 - Merge pull request #1322 from AChep/dependabot/github_actions/softprops/action-gh-release-2.6.1
- 34e34935 - Merge pull request #1324 from AChep/dependabot/gradle/gradle-wrapper-9.4.0
- af59a1eb - feat: Large Search rework
- edc9ffac - refactor: Minor code cleanup of the DB repos
- fea9ab3f - improvement(performance): Split background processing of Watchtower entities in chunks, limit parallelization to lower the load on low-end devices
- b1c6f46c - improvement(KeePass): Calculate the password strength on first sync
- 35a68955 - chore: Add a script for generating test KeePass databases
- 4ea4c578 - build(deps): Bump androidx.benchmark:benchmark-macro-junit4
- 880ce4dd - build(deps): Bump gradle-wrapper from 9.3.1 to 9.4.0
- f358f0fc - build(deps): Bump softprops/action-gh-release from 2.5.0 to 2.6.1
- 098e879e - build(deps): Bump reactivecircus/android-emulator-runner
- da390d76 - build(deps): Bump crowdin/github-action from 2.15.0 to 2.15.2