| Age | Commit message (Collapse) | Author | Files | Lines |
|
AGP 9 migration:
- Configure the shared Android setup through the new DSL
(CommonExtension, ApplicationExtension) instead of the removed
TestedExtension and BaseAppModuleExtension; targetSdk moves to the
application extension.
- Stop applying the Kotlin Android plugin; AGP 9 compiles Kotlin itself.
- Replace kapt with KSP 2.3.13 for Hilt, which built-in Kotlin requires,
and carry the Dagger compiler options over as KSP arguments.
- AGP 9 now applies packaging excludes to unit-test resources, which
stripped the diceware word list (**/*.txt) from its tests; lift that
exclude in the diceware module.
- Use resources.directories instead of the deprecated srcDir.
Plugin updates required by Gradle 9 / AGP 9: Sentry Gradle plugin
6.25.0 (sentry-android 8.62.0), metalava plugin 0.5.1, maven-publish
0.37.0, spotless 8.10.4, version-catalog-update 1.1.2, download task
5.7.0, foojay resolver 1.0.0, with their API changes. Newer metalava
models Kotlin properties, so autofill-parser/api.txt is regenerated;
the diff is representation only, no API was added or removed.
Fix new Kotlin 2.4 and lint findings (explicit return type in a
function with an early return, UseKtx in autofill-parser), drop
deprecated Kotlin Gradle properties, and make the AGENTS.md pre-commit
command cover every task CI runs (both flavors, lint on all modules).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Newest releases that still fit together on the Gradle 8 / AGP 8 line:
- Kotlin stops at 2.1, the newest metadata Gradle 8's embedded Kotlin
2.0 compiler can read when compiling build-logic.
- Hilt stops at 2.58; 2.59 and later require AGP 9. Hilt 2.52's
annotation processor could not read Kotlin 2.1 metadata.
Drop the languageVersion = 1.9 pin so code compiles with the K2
frontend; Kotlin 2.4 no longer accepts 1.9. Drop the R8 8.5.35 pin and
its repository, which is older than the R8 AGP 8.13 bundles. Move the
deprecated buildFeatures.androidResources flag to
androidResources.enable, and replace Uri.parse with toUri for the new
UseKtx lint check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Bouncy Castle 1.78.1 is affected by GHSA-574f-3g2m-x479,
GHSA-9pwp-9qqc-pr26, GHSA-c3fc-8qff-9hwx and GHSA-qp49-qgx5-5m26, all
fixed by 1.85. PGPainless 1.7.8 is the newest 1.x release. A root
resolution rule keeps every Bouncy Castle module on the catalog version;
before, bcpg 1.77 shipped next to bcprov 1.78.1.
The new stack decrypts the OCB (LibrePGP) packets GnuPG 2.3+ emits by
default, which the old one rejected as "non-standard AEAD". Drop the
NonStandardAEAD error, its bottom sheet and strings, and replace the
mislabelled aead_* fixtures (SHA-1 self-signed keys plus a message
encrypted to an unrelated key) with a real GnuPG 2.5 key and OCB message
that the tests now decrypt. The new fixture is a throwaway test key, so
it is allowlisted in .gitleaksignore by fingerprint.
Fix KeyUtils.isKeyUsable, which compared a Boolean to null and so
accepted every key that parsed, including keys with no encryption
subkey. A signing-only key fixture now covers the rejection path.
Also: migrate the removed SelectUserId.firstMatch and deprecated
addDecryptionPassphrase APIs, keep one copy of the Bouncy Castle
META-INF/LICENSE.md in the APK, and move the existing InvalidPackage
lint baseline entries to the bcpkix 1.86 jar.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
DecryptActivity was exported without an intent filter, so any installed
app could start it with arbitrary FILE_PATH/REPO_PATH extras (and crash
it by omitting them). Nothing outside the app needs to launch it:
shortcuts and the decrypt action go through LaunchActivity.
LaunchActivity stays exported, so it now treats FILE_PATH as untrusted:
the path is forwarded only when it canonically resolves to a regular
file inside the password store, and REPO_PATH is always the real store
directory instead of the caller-supplied value. Anything else falls
back to the main screen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
* fix(deps): update dependency com.android.tools.build:gradle to v8.7.0
* fix: remove deprecated options
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
This reverts commit 04f4b9804f10e4724bac22d40bf01711ff708533.
|
|
This reverts commit cb22561878d4358dba974c16ba9a05cc693d411a.
|
|
This reverts commit 69513bf24613d4ba540bcdeaffe04dc9330a65a4.
|
|
This reverts commit b05a6d411b98393abe3bdbdd4f673bbe49e30f88.
|
|
|
|
|
|
|
|
|
|
* fix(deps): update dependency com.android.tools.build:gradle to v8.6.0
* chore: regenerate Lint baselines
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* chore: set up Crowdin configuration
* fix(app): sync strings from Crowdin
Closes #3174
* fix(ci): use crowdin/github-action instead of homebrew setup
* fix(build): remove obsolete Crowdin plugin
|
|
* directory structure setting moved to general settings
* Update app/src/main/java/app/passwordstore/util/settings/PreferenceKeys.kt
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Signed-off-by: Alexander Grahn <agrahn@users.noreply.github.com>
---------
Signed-off-by: Alexander Grahn <agrahn@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Spotless has fixed their Gradle Configuration Cache woes in the past
couple months which gets rid of my primary complaint.
|
|
* add user ID input field (password creation/edit), may fix #1458
* fix: revert change to username label
* refactor: rework FieldItem to drop hard-coded strings
* refactor: drop unnecessary `.apply`
---------
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
|
|
|
|
* more robust switch actions in pgp settings
* Update app/src/main/java/app/passwordstore/ui/settings/PGPSettings.kt
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Signed-off-by: agrahn <agrahn@users.noreply.github.com>
* Update app/src/main/java/app/passwordstore/ui/settings/PGPSettings.kt
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Signed-off-by: agrahn <agrahn@users.noreply.github.com>
* Update app/src/main/java/app/passwordstore/ui/settings/PGPSettings.kt
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
Signed-off-by: agrahn <agrahn@users.noreply.github.com>
* formatting fixed (ktfmtFormat)
---------
Signed-off-by: agrahn <agrahn@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
strings: sync with crowdin
Co-authored-by: GitHub Actions <noreply@github.com>
|
|
Fixes #2802
|
|
* fix crash due to passphrase caching after biom. authentication expired
* fix: add missing imports
---------
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
strings: sync with crowdin
Co-authored-by: GitHub Actions <noreply@github.com>
|
|
attack vector (#3136)
prevent app crash upon passphrase cache clearing
|
|
|
|
Fixes #3131
|
|
|
|
|
|
* add checkbox in passphrase dialog to clear cache
* instantiating PasswordDialog via newInstance, passing args as Bundle
* refactor: put checkbox directly in the layout
---------
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
* enabling pgp passphrase cache with authentication
* clear passphrase cache on first autofill decrypt after screen off
---------
Co-authored-by: Alexander Grahn <me@null.org>
|
|
clear passphrase chache on screen-off
|
|
* fix(deps): update dependency com.android.tools.build:gradle to v8.5.0
* chore: refresh Lint baseline
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
strings: sync with crowdin
Co-authored-by: GitHub Actions <noreply@github.com>
|
|
|
|
|
|
|
|
|
|
Narrator: it was in fact not proper
This reverts commit 7c9e563d969a34e6142f22db779b79101babc483.
|
|
|
|
* WIP: feat(pgpainless): add detection for passphrase-less messages
* refactor: test keys instead of the message
This makes more logical sense
|
|
Fixes #3053
|
|
Fixes #3066
|
|
* fix(deps): update kotlin and compose to v2
* fix(build): switch to Kotlin Compose Compiler
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|
|
|
|
Fixes #2974
Fixes #2963
Fixes #2921
Fixes #2924
Fixes #2653
Fixes #2461
Fixes #2586
Fixes #2179
|
|
* fix(deps): update dependency org.bouncycastle:bcprov-jdk18on to v1.78
* fix(deps): add missing bcutil dependency
* fix(build): drop multi-release JAR artifacts from APK
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
|