v1.0.0 May 2026
Family & Business Groups — encrypted group messaging, up to 8/6 members.
EN / RO Localization — automatic detection from device settings.
Decoy PIN — a fake PIN that opens an empty inbox (plausible deniability).
Fixed group messages not being sent by the group creator until a private conversation was initiated first.
v0.9.9 May 2026
Fixed deleted conversations reappearing after app restart and relay reconnect.
Fixed recreating a contact after delete — new messages now work correctly.
Fixed false "conversation deleted" block after contact recreation.
Persistent seen event IDs now survive app restarts, preventing relay replay.
Tombstone system upgraded to timestamp cutoff model (not permanent peer block).
Seen event deduplication persisted across sessions via encrypted Hive storage.
v0.9.8 May 2026
Fixed message duplication after app restart and relay reconnect.
Stabilized encrypted attachment ordering in the chat timeline.
Improved deduplication for incoming relay events and local persistence.
Improved encrypted image, PDF and large file transfer stability.
Improved conversation refresh consistency and contact identity rendering.
Published stable APK and clean source package on GitHub Releases.
v0.9.6 May 2026
Onboarding screen — 3-step guide for new users explaining Nostr identity, adding contacts, and sending first message.
File upload progress bar — animated progress indicator with percentage (10%→30%→60%→85%→95%→100%) replacing the spinner.
Message pagination — lazy loading of 50 messages per page with scroll-up to load more, reducing memory usage on long conversations.
5th relay server added — purplepag.es for improved redundancy and failover.
NIP-44 test suite — 6 automated tests with official vectors covering round-trip, Unicode, long messages, MAC tamper detection, and nonce randomness.
Critical fix: key.properties keystore password removed from repository. Now uses environment variables for CI/CD builds.
Added .gitignore rules for *.jks, key.properties, and .env files.
Added @visibleForTesting annotation on encryptWithNonceForTest() to prevent accidental production calls.
build.gradle.kts hardened — signing config only applied when keystore is present, debug builds always work independently.
Architecture refactor — vault_chat_root.dart reduced from 1873 to 544 lines by extracting AppController ViewModel.
ChatScreen reduced from 906 to 483 lines — all business logic moved to new ChatController.
New IdentityBackupService — backup/restore crypto fully extracted from UI, now independently testable.
Accessibility: Semantics(button: true, label: ...) added to header icon buttons for TalkBack/VoiceOver support.
Removed duplicate MainActivity.kt from com.example.nostr_basic_app package.
v0.9.5 May 2026
Complete English localization — all UI strings translated, including PIN screen, biometric lock, error messages, and dialogs.
Consistent terminology throughout the app — "public ID", "Cancel", "Forgot PIN", "Biometric unlock".
Screenshot and screen recording protection confirmed active (FLAG_SECURE at activity level).
v0.9.7 May 2026
Fixed: inbox conversation preview no longer shows raw JSON for encrypted attachments.
Images now display as: 📎 Image — PDF files as: 📎 PDF — Other files as: 📎 File.
v0.9.6 May 2026
6th relay server added — relay.primal.net (Primal infrastructure) for improved delivery redundancy.
Active relays: relay.damus.io, nos.lol, relay.nostr.band, relay.primal.net, nostr.wine, purplepag.es.
v0.9.1 May 2026 — Play Store release
First public Android APK release available through GitHub Releases.
Encrypted file attachments — AES-256-GCM encryption with upload to distributed storage.
Auto-reconnect logic for relay connections with exponential backoff.
Message delivery status indicators (sent / delivered).
Contact management with local nicknames for public keys.
PIN lock migration to PBKDF2-SHA256 with 210,000 iterations (up from 12,000 in v0.8.x).
Hive database encryption with AES-256 key stored in Android Keystore.
Biometric lock — biometricOnly: true, no system PIN fallback.
Auto-wipe after 10 failed PIN attempts.
allowBackup=false and full data_extraction_rules.xml configuration.
usesCleartextTraffic=false — all traffic forced over HTTPS/WSS.
v0.9.0 April 2026 — Beta
Initial beta release for closed testing.
NIP-44 v2 end-to-end encryption fully implemented — ECDH + HKDF + ChaCha20 + HMAC-SHA256.
Nostr keypair generation with Android Keystore storage.
Multi-relay support with 4 public relay servers.
Encrypted backup & restore with AES-GCM-256 and PBKDF2 password derivation.
PIN lock with 6-digit code and biometric unlock.
Dark theme UI with VaultChat design system.
Fixed event deduplication on relay reconnect — messages no longer appear twice after disconnect.
Fixed keyboard inset handling on Android 13 — composer no longer hidden behind system keyboard.
Fixed PIN migration from SHA-256 legacy format to PBKDF2.
v0.8.x March 2026 — Alpha
Proof-of-concept alpha. Basic Nostr messaging with NIP-04 encryption.
Local message storage with Hive (unencrypted at this stage).
Simple PIN lock with SHA-256 hash.
Migrated from NIP-04 to NIP-44 v2 encryption — stronger, padded, forward-secure.
Added Android Keystore integration for private key protection.

Stay updated

Follow the GitHub repository and Releases page for new APK builds and source packages.

Watch on GitHub Get updates on Play