Night Drop 0.1.16
A chat request could turn itself into an accepted contact. Restarting the app was enough: the request came back as a normal chat you had never approved, and that person's messages were accepted from then on. Approval survives a restart now. Worth a glance at your chat list after updating.
Your onion address and your contacts' addresses no longer sit unencrypted on disk. They move into the same sealed store as your messages, so a seized or cloned phone no longer reveals who you talk to. Your own address does not change when you update.
Deleting your identity is thorough. On Android parts of it could quietly survive — including the key protecting what you had just destroyed, and the address itself, so a "new" identity could come back on the old one's address. A wipe also leaves the app able to start again; before, it could refuse to open afterwards.
"Sent" now means their device has it. One tick says it left your phone, two ticks say the other device confirmed that exact message. Previously a message that never arrived looked identical to one that did.
Version codes jump to 4021/4022/4023 (from 1016/2016/4016). F-Droid asks Flutter apps to use versionCode * 10 + abi; the base was raised so the new scheme stays above what Flutter's own numbering had already published, since Android refuses a downgrade.
Verify downloads with sha256sum -c SHA256SUMS against the signed manifest. The per-ABI APKs are reproducible builds from F-Droid's container at the fixed build path.