Releases: clenchwallet/clench-wallet
Release list
Clench Wallet 0.3.19
Signed release build for Clench Wallet 0.3.19.
Verify before installing:
- Download the APK and
SHA256SUMS. - Run
sha256sum -c SHA256SUMS. - Run
apksigner verify --verbose --print-certs clench-0.3.19-release.apk. - Compare the signer certificate digest against the trusted Clench release key.
See docs/release/signed-release-verification.md for the full process.
Signers UI test d68f81f
Test prerelease for Signers UI polish.
Commit: d68f81f
Changes:
- Signers now opens as a saved-signer list with a + button to add a signer.
- Add Signer is a separate screen state instead of always appearing above the list.
- File import now uses an upload/file icon, paste uses the clipboard icon, and QR scan uses the scanner icon.
- Empty clipboard paste now shows a clear error instead of doing nothing.
- Applies the import icon cleanup to both Signers and Create Multisig.
Verification:
- ./gradlew compileDebugKotlin
- ./gradlew assembleDebug assembleRelease
- git diff --check
Signers general test 3f9412f
Test prerelease for general Signers support.
Commit: 3f9412f
Changes:
- Expands Signers from multisig-only storage into reusable signer imports.
- Supports single-sig native SegWit and multisig native SegWit signer types.
- Adds QR, file, clipboard, and TAPSIGNER NFC import paths to Signers.
- Allows creating a single-sig watch-only wallet from a saved single-sig signer.
- Keeps multisig signers available for Create Multisig and confirms TAPSIGNER multisig path setup before NFC import.
Verification:
- ./gradlew testDebugUnitTest --tests 'net.clench.wallet.domain.model.SignerAccountKeyParserTest' --tests 'net.clench.wallet.ui.components.TapsignerTapProtocolTest'
- ./gradlew assembleDebug assembleRelease
- git diff --check
Signer wallet choice test 8cada5a
Test prerelease for signer wallet choice flow.
Commit: 8cada5a
Changes:
- Saved signer cards now open a Use Signer choice instead of immediately creating a wallet.
- Single-sig saved signers can still create single-sig watch-only wallets.
- Multisig choices require/import the signer BIP48 account key before wallet creation.
- Existing multisig signers can open Create Multisig preloaded.
- Secure Vault starts as 2-of-3 with slots for Clench Phone Signer, selected signer, and Offline Recovery Signer.
Verification:
- ./gradlew compileDebugKotlin assembleDebug assembleRelease
- git diff --check
TAPSIGNER wallet info NFC fix fc7e475
Test build for TAPSIGNER Wallet Info NFC verification.
Fixes:
- Active TAPSIGNER Wallet Info actions now use reader mode without foreground-dispatch duplication.
- Idle Wallet Info still catches passive Coinkite taps without routing to the website.
- Transceive failures now show a steadier hold-card-still message.
Verification:
- ./gradlew assembleDebug
- ./gradlew testDebugUnitTest --tests 'net.clench.wallet.ui.components.TapsignerTapProtocolTest'
- ./gradlew assembleRelease
- git diff --check
TAPSIGNER wallet info test build 779da8e
Test build for TAPSIGNER-specific Wallet Info.
Includes:
- Dedicated TAPSIGNER watch-only Wallet Info screen.
- NFC card status refresh.
- PIN-authenticated card/wallet match verification.
- Encrypted TAPSIGNER backup export from Wallet Info.
- Hides generic external-signer switching and hot-wallet conversion for TAPSIGNER wallets.
Verification:
- ./gradlew assembleDebug
- ./gradlew assembleRelease
- ./gradlew testDebugUnitTest --tests 'net.clench.wallet.ui.components.TapsignerTapProtocolTest'
- git diff --check
TAPSIGNER multisig onboarding test 7019a6b
Test build for direct TAPSIGNER onboarding in the multisig signer assembly flow.
Changes:
- Adds TAPSIGNER NFC controls to Create Multisig signer cards.
- Imports a TAPSIGNER as a BIP48 native SegWit multisig cosigner at m/48'/0'/0'/2' on mainnet or m/48'/1'/0'/2' on testnet.
- Adds a confirmed setup path that can initialize an unused card or set an existing TAPSIGNER to the multisig path.
- Keeps plain Import Key guarded so cards already on another path, such as m/84 single-sig, are not silently reinterpreted.
- Adds Tap Protocol authenticated derive command support and parser coverage.
- Shows the Clench phone signer option in multisig assembly for the intended 2-of-3 phone + TAPSIGNER + offline recovery model.
Built from 7019a6b.
Verified:
- ./gradlew testDebugUnitTest --tests 'net.clench.wallet.ui.components.TapsignerTapProtocolTest' --tests 'net.clench.wallet.domain.model.HardwareWalletTypeTest' compileDebugKotlin
- ./gradlew assembleDebug assembleRelease
- git diff --check
TAPSIGNER backup steps test 52c3086
Test build for clearer TAPSIGNER backup flow wording.\n\nChanges:\n- Explains that encrypted TAPSIGNER backup is a separate authenticated NFC action.\n- Tells users to enter the TAPSIGNER PIN, choose the .aes file location, then tap the card again.\n- Adds the same warning to TAPSIGNER multisig cosigner setup before funding.\n\nVerification:\n- ./gradlew testDebugUnitTest --tests 'net.clench.wallet.ui.components.TapsignerTapProtocolTest' --tests 'net.clench.wallet.domain.model.HardwareWalletTypeTest' compileDebugKotlin\n- ./gradlew assembleDebug assembleRelease\n- git diff --check
TAPSIGNER backup test 7963102
Prerelease APKs for testing TAPSIGNER encrypted backup export from commit 7963102.\n\nChanges:\n- Offers Save encrypted backup after an initialized TAPSIGNER is detected/imported.\n- Lets the user choose an .aes backup file location with Android's document picker.\n- Verifies the Coinkite certificate/check path before authenticated backup.\n- Sends the Tap Protocol backup command and writes the returned encrypted data bytes directly to disk.\n- Re-reads and displays backup count after backup.\n\nUse the release APK for normal install testing. Debug APK is included for troubleshooting.
Signer vault test 659c5a1
Test build for signer-vault multisig onboarding.
Commit: 659c5a1
Changes:
- Adds Signer Vault for storing reusable public multisig account keys with fingerprint and derivation path.
- Adds saved-signer picker and save-to-vault actions in multisig wallet creation.
- Requires complete BIP48 native multisig signer origin data before wallet creation.
- Keeps TAPSIGNER single-sig m/84 separate from multisig m/48'/coin'/account'/2'.
Verification:
- Focused parser/TAPSIGNER/multisig unit tests passed.
- assembleDebug and assembleRelease passed.
- git diff --cached --check passed before commit.
Not physically tested with hardware in this environment.