aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
AgeCommit message (Collapse)AuthorFilesLines
9 hoursbuild(deps): update sshj to 0.41.2 and drop eddsaDanilo M.1-0/+6
sshj 0.40 replaced the unmaintained net.i2p.crypto:eddsa 0.3.0 (last release 2019) with Bouncy Castle's Ed25519. 0.41.2 still targets Java 8. The app used eddsa directly for wrapped Ed25519 SSH keys. Generate the 32-byte seed with SecureRandom and build the key pair with sshj's Ed25519KeyFactory and Bouncy Castle's public key derivation. The wrapped format is still the raw RFC 8032 seed, so keys generated by 0.1.3 keep working; Ed25519KeyPairTest pins this with the RFC 8032 test vector. sshj 0.40 also changed setSecurityProvider(null) to reset the registerBouncyCastle flag, which undid the earlier setRegisterBouncyCastle(false): sshj then forced every operation through Bouncy Castle, which cannot sign with Android Keystore keys ("no encoding for EC private key"), and hardware-backed SSH keys failed to authenticate. Call the two in the opposite order; SshjConfigTest checks that sshj leaves provider selection to the JCA. Verified with the R8 release build on the emulator against the e2e server: a hardware ECDSA key, a newly generated wrapped Ed25519 key and an imported OpenSSH Ed25519 key all authenticated and synced. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 hoursrelease: HardenedPass 0.1.3v0.1.3Danilo M.1-1/+1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 hoursfeat(crypto): replace androidx security-crypto with Keystore AES-GCMDanilo M.1-0/+6
security-crypto is deprecated in 1.1.0 and the app was stuck on 1.1.0-alpha06, since the stable release fails the warnings-as-errors build. It also pulled in Tink for what is a single AES-GCM operation. KeystorePreferences is a SharedPreferences whose values are AES-GCM sealed under an Android Keystore key (random IV, entry name as AAD so values cannot be swapped between entries); a value that fails to decrypt reads as absent. It backs the Git credentials (git_secrets), the proxy credentials (proxy_secrets) and the PGP passphrase cache, whose key needs the screen lock or a strong biometric within 60s and is recreated if a new biometric enrollment invalidates it. Wrapped Ed25519 SSH keys are sealed the same way into the private key file. Password generator settings are not secret and move to plain preferences. Nothing is migrated: removeSecurityCryptoData deletes the old encrypted preference files, Tink keysets, their Keystore master keys and a security-crypto wrapped Ed25519 key once on upgrade. Only 0.1.x installs from the last few hours have such data. Hardware SSH keys and imported keys are untouched. Tests: KeystorePreferencesTest (round trip, defaults, no plaintext, random IVs, AAD binding, tamper rejection, remove/clear) with a software AES key. Verified on the emulator by upgrading a 0.1.2 debug build that held a wrapped Ed25519 key, Tink keysets and a cached passphrase: the old data was deleted, a new Ed25519 key authenticated over SSH after a fingerprint unlock, and a passphrase cached on first decrypt was reused on the second with only the fingerprint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 hoursrelease: HardenedPass 0.1.2v0.1.2Danilo M.1-0/+8
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 hoursrelease: HardenedPass 0.1.1v0.1.1Danilo M.1-0/+7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 hoursrelease: HardenedPass 0.1.0v0.1.0Danilo M.1-1/+21
Set the version to 0.1.0 (versionCode 100, following the versioning plugin's major*10000 + minor*100 + patch scheme) and add a changelog section for the first release. Upstream's never-released [Unreleased] section is kept below it, renamed, since 0.1.0 ships that work too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2023-05-12feat: raise min SDK to 26Harsh Shandilya1-1/+2
Autofill is only available on API 26 and above and I do not want to deal with bugs on these older Android releases.
2022-11-27chore: add changelog entryHarsh Shandilya1-0/+1
2022-10-29chore: add CHANGELOG entryHarsh Shandilya1-0/+1
2022-09-07Use `GENERAL_SHOW_TIME` for decryption screen timeout (#2107)Aditya Wasan1-0/+1
* feat(app): use `GENERAL_SHOW_TIME` for decryption screen as well Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * feat: update timeout to 60 seconds Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * refactor(app): use constant instead of using a magic number Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add changelog entry Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-09-07Minor cleanups to changelog and contribution docs (#2110)Harsh Shandilya1-1/+1
2022-07-15Update changelogHarsh Shandilya1-2/+3
2022-04-21Remove support for external storage and raise target SDK to 31 (#1863)Harsh Shandilya1-0/+1
2022-03-11Fix TOTP field flashing on each update (#1779)Harsh Shandilya1-0/+1
* Fix TOTP field flashing on each update * Add missing changelog entry
2022-02-20Introduce Sentry for error reporting (#1737)Harsh Shandilya1-0/+1
2022-01-25Add the ability to run garbage collection on the internal Git repository (#1683)Harsh Shandilya1-0/+1
2022-01-09Make PGPainless backend feature flag runtime configurable (#1654)Harsh Shandilya1-0/+1
* Make feature flags runtime configurable * Add a settings entry for PGPainless feature flag * Add changelog entry
2021-12-31Revert "autofill-parser: remove Bromite from supported browsers (#1423)" (#1632)Harsh Shandilya1-1/+0
This reverts commit 3f20678d799e15e21d1b7f013bc3672270f0d20f.
2021-12-29Refactor BiometricAuthenticator and add proper support for retries (#1627)Harsh Shandilya1-0/+1
2021-12-21CHANGELOG: add entryHarsh Shandilya1-0/+1
2021-12-09Prevent Git files from turning up in search and listing (#1582)Harsh Shandilya1-0/+1
* Prevent Git files from turning up in search and listing * Update changelog
2021-12-07Allow importing TOTP from images (#1580)Aditya Wasan1-0/+1
* feat(aps): allow importing TOTP code from an image containing a QR code Signed-off-by: Aditya <adityawasan55@gmail.com> * Reorder OTP import options and implement it for V2 * Replace try-catch with runCatching * Use the correct TextWatcher extension at the right place Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-11-03Allow unauthenticated HTTPS Git access (#1533)Harsh Shandilya1-0/+1
2021-11-03CHANGELOG: updateHarsh Shandilya1-0/+1
2021-08-08Make password generator parameter changes reactive (#1480)Harsh Shandilya1-2/+10
* Make XkPassword generator reactive * Handle empty strings * Make password generator reactive * Sync changelog for 1.13.5 release * Add to changelog
2021-07-17Refactor TOTP implementation and expand SteamGuard hacks (#1460)Harsh Shandilya1-0/+1
* UriTotpFinder: commonize query parameter handling * gitignore: add more IDEA files * TotpFinder: add `findIssuer` * PasswordEntry: don't eagerly fetch TOTP related fields * format-common: expand SteamGuard workaround * CHANGELOG: add SteamGuard workaround
2021-05-26autofill-parser: remove Bromite from supported browsers (#1423)Harsh Shandilya1-0/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-25Do not ASCII armor files when encrypting (#1396)Harsh Shandilya1-0/+1
2021-04-21Support creating pinned shortcuts directly (#1393)Harsh Shandilya1-0/+1
* CHANGELOG: update for pinning support * PasswordFragment: support pinning * PasswordStore: use `PasswordItem#createAuthEnabledIntent` * PasswordItem: add `createAuthEnabledIntent` API * DecryptActivity: remove last changed time Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-07Switch to sublime text's fuzzy matching (#1372)Amogh Lele1-0/+1
* refactor(search): use sublime text's fuzzy matching algorithm Signed-off-by: SphericalKat <amolele@gmail.com> * chore(changelog): update Signed-off-by: SphericalKat <amolele@gmail.com> * build: fetch sublime-fuzzy from Maven Central Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * chore(changelog): update Co-authored-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-04-03Actively discourage use of git protocol (#1368)Harsh Shandilya1-0/+1
2021-03-21Inform users that GPG key selection is mandatory (#1355)Harsh Shandilya1-1/+11
* Inform users that GPG key selection is mandatory Fixes #1342 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * changelog: sync for 1.13.4 release Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * changelog: add GPG key selection improvements Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-20changelog: update for launcher shortcuts fixHarsh Shandilya1-0/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-13Append trailing newline to `.gpg-id` during creation (#1344)Harsh Shandilya1-3/+11
2021-03-04Mark Chrome as reliably fillable and saveable (#1338)Fabian Meumertzheim1-0/+1
* Mark Chrome as reliably fillable and saveable * Mention Autofill improvements in CHANGELOG
2021-02-26CHANGELOG: sync with 1.13.2 release (#1329)Harsh Shandilya1-11/+26
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-19Parse extra content into key value pairs (#1321)Aditya Wasan1-0/+1
* ui: add skeleton recyclerview to parse extra content Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * ui: add recyclerview and update PasswordEntry to create map of key-value pairs Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * password-entry: When key-value pair is not correctly formed, display it as Extra Content Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Fix formatting Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * bug: update otp code on main thread Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add complete string if key-value pair cannot be formed Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * test: add a few tests for key-value parsing logic Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * prefs: remove SHOW_EXTRA_CONTENT from shared preferences Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Update CHANGELOG.md * Cleanup and refactor Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntryTest: silence nullability warning Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntry: simplify constructor Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * PasswordEntry: annotate test-enablement visibility Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Reintroduce the catch-all field Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * update parsing logic Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * add one more test case Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add missing newlines Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unnecessary scrollview Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * rv: do not return if hasExtraContent is false Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Don't anchor RV to bottom Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2021-02-18Implement manual TOTP import and cleanup password generators (#1320)Harsh Shandilya1-0/+1
2021-02-03Rework clear clipboard feature (#1295)Harsh Shandilya1-0/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-31Fix app shortcuts not updating (#1292)Harsh Shandilya1-0/+1
2021-01-27Disallow overwriting passwords when editing (#1286)Harsh Shandilya1-0/+1
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2021-01-12Allow configuring pull behaviour (#1276)Harsh Shandilya1-0/+1
2021-01-12Rework settings to use ModernAndroidPreferences (#1236)Harsh Shandilya1-0/+1
Co-authored-by: Fabian Henneke <fabian@hen.ne.ke>
2021-01-08app: cleanup how we handle menu item presses (#1275)Harsh Shandilya1-0/+1
Fixes #1274 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-17Transform broken repo error message to be more helpful (#1251)Harsh Shandilya1-0/+1
2020-12-10Better guidance for users to deal with host key changes (#1242)Harsh Shandilya1-0/+1
* Provide actionable guidance for host key mismatches Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Hide host key clear button after use Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-10Try to fix missing `.gpg-id` files as well (#1246)Harsh Shandilya1-0/+1
2020-12-03Set 10 second timeout on JGit transport commands (#1230)openpgp-ktx-v2.2.0autofill-parser-v1.0.0Harsh Shandilya1-0/+1
* GitOperation: set a 10 second connection timeout Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-01GitCommandExecutor: make committer match author (#1226)Harsh Shandilya1-0/+1
* GitCommandExecutor: make committer match author Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Add changelog entry Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-11-22Automatically dismiss decryption screen after 60 seconds (#1216)Harsh Shandilya1-0/+1
* Automatically dismiss decryption screen after 60 seconds Fixes #1215 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Update changelog Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>