Primal
net.primal.android
Primal Developers developer@primal.net Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Sep 3, 2026 3.5.27## Maintenance - Linkify bare web URLs in article content - Route zap poll votes to the poll author in replied zap polls - Reject local signer requests with mismatched signing identity - Hardening of incoming NWC requests auth before processing - Upgrade Breez SDK Spark to 0.23.1
- Jul 30, 2026 3.5.25## Features - Added a follow mute list to hide muted users from your feeds - Remote signer updated to respond to the latest protocol changes - Tapping the Explore tab now opens search ## Improvements - Faster app startup and performance - Faster feed loading and lower memory use - Improved the profile context menu - Feeds now prefetch on startup for a faster first load
More…
- Reliable connections with automatic connection recovery - Reserved space for the "Followed by" section to reduce layout shift on profiles - Keep caching database under 100 MB ## Fixes - Single-image notes now render at full content width - Fixed top-zap avatars flashing when opening a thread - Fixed live stream pills appearing before the feed finished loading - Feed media prefetch now stops when you leave a feed - Fixed incorrect image ordering in the feed media pre-loader - Capped media pre-cache concurrency to keep loading order stable - Fixed connections stalling when a relay stopped responding - Fixed request timeouts not being reflected in the UI - Fixed invalid entries being pulled in from the follow lists - Fixed the transparent avatar background on Profile Details - Removed the redundant timestamp from the highlighted note in a thread - Update fallback relay urls - May 14, 2026 3.5.9## Features - Redesigned app shell with new top and bottom bars - Redesigned feed picker & side menu as account options menu - Implemented new Explore screen - Implemented notification filters - Implemented audio player for audio links in feed (#997) - Implemented NIP-05 verifications on the feed and profiles - Implemented editing advance search feeds - Improved feed layout - Performance improvements across the app
More…
- Handle paste of any event link in the note editor (#1042) ## Fixes - Fixed wallet text amount overflowing on smaller screens using TextAutoSize (#1014) - Chunk IN-clause DAO queries to avoid SQLite variable-limit crash on (#1036) - Apr 7, 2026 3.0.21## Fixes - Implemented overflow menu and delete wallet in Dev Tools (#1002) - Implemented wallet multi-account sharing (#999) - Added test tags to the onboarding flow for QA (#1001) - Fixed poll zap votes appearing as Top Zaps (#995) - Mapped WalletException types to error codes in NWC responses (#1000) - Hide wallet balance and action buttons when no wallet exists (#998) - Implemented auto-reconnect in remote signer (#1006) - Implemented auto-reconnect in wallet service (#1003) - Fixed the new posts pill not scrolling to top on non-latest feeds (#1005)
More…
- Fixed the poll crash when the options list is empty (#1007) - Mar 24, 2026 3.0.17## Fixes - Added profile navigation from drawer avatar (#971) - Added on-chain address to wallet transaction CSV export (#970) - Added NIP-89 client tag to specific event kinds (#968) - Fixed the floating-point truncation error when creating LN invoices - Implemented `primalconnect://` deep-linking (#969) - Fixed processing same QR code data in parallel (#967) - Updated transaction sending animation with light and dark variants (#966) - Fixed fetching zap receipts for all transactions (#965) - Migrated to ZXing scanner for AOSP builds (#963)
More…
- Migrated user voted poll logic to EventUserStats (#964) - Fixed the note editor reading clipboard on every keystroke (#962) - Implement re-assigning lightning address in wallet picker - Added relay hint tags to zap poll events (#973) - Fixed poll options rendering to appear after attachments (#974) - Set maxLines=1 on poll option labels (#976) - Fixed using zap receipts instead of zap requests for zap data parsing (#977) - Fixed WalletSessionProvider to handle missing user wallet status s - Fixed missing zaps in the transactions list - Fixed wallet upgrade notice shown after successful migration (#972) - Implemented showing raw wallets in the dev tools - Fixed poll stats sometimes missing on the poll votes screen - Fixed card background color mismatch in transaction details - Show the keyboard button when camera permission is denied on the scan screens (#987) - Fixed zaps showing the default avatar sometimes (#988) - Fixed feed paging recovery after transient connectivity issues - Mar 17, 2026 3.0.7## Features - Spark wallet - Polls (regular & zap-based) - GIF button - Smooth onboarding - Faster feeds
- ## Features - Remote Signer (NIP-46) - Android Signer (NIP-55) ## Fixes - Improved notifications auto-scroll behaviour (#766) - Improved thread screen load time (#764) - Improved article cover image rendering with variant images from cache - Implemented pre-caching user avatars (#770) - Implemented media pre-caching for smoother scrolling (#801)
More…
- Implemented `primal.net/profile` deep link handling - Fixed media gallery crash on app background - Fixed self-mentions in bio not rendering correctly (#797) - Added fallback stream title for stream pills - Added Repost Again option to repost bottom sheet (#793) - Add video/audio metadata extraction for uploaded files - ## Changes - Fixed crash when parsing invalid LN invoice
- ## Changes - Fixed UI switch glitch on notifications settings screen
- ## Changes - Implemented replay button on stream and recording ended state (#691) - Added live stream and reply-to-reply notification settings (#703) - Replies in Notifications are now full width (#702) - Improved article content parser for Images and Notes (#696) - Fixed zap receipts to use main host as recipient user id (#695) - Fixed `Started now ago` timestamp on streams (#705) - Fixed player line visible at the top on light theme - Fixed keyboard dismiss on stream chat click - Fixed stream rewinding to live when stream data updates (#699)
More…
- Fixed stream player starting on non-stream deep links (#714) - Fixed data fetches with empty pubkey on login (#697) - Improve seekbar and player controls visibility for streams - Fixed wallet data leftovers when user logs out (#704) - Fixed wallet `0 sats` text not centered in some cases (#708) - Upgraded acinq libs to fix 16KB issue with Google Play - ## Features - Implemented delete repost for notes (#673) - Implemented live stream caching (#674) - Implemented rewind and fast forward (#674) - Implemented seek bar functionality for recorded streams (#663) - Implemented deep link support for primal stream links (#668) - Implemented support for NEVENT & NADDR QR code types in ProfileQrCodeScreen (#647 by @pedromvpg) - Implemented support for nprofile in live stream chat messages (#681) - Implemented collapsing stream player when scrolling & keyboard is shown - Implemented support for stream ended state (#689)
More…
- Implemented stream control popup bubble ## Fixes - Fixed various small UX issues - Fixed sent zaps and messages not showing up immediately in streams (#666) - Fixed not being able to switch stream while there is an active stream - Fixed displaying empty live stream screen when stream url is missing - Fixed stream chat scrolling logic on new message or zap (#664) - Fixed thread screen "jumping" issue - Fixed stream keeps playing when you log out - Fixed screen turns off during stream playback (#665) - Fixed unable to scroll long stream chat messages in message details - Fixed videos does not pause when app enters background (#660) - Fixed issues when minimizing stream from fullscreen - Fixed crash when Amber signer is uninstalled (#669) - Fixed crash on Premium Media Management screen for some users ## Maintenance - Upgrade to Kotlin 2.2 - Migrate to PlayerSurface from AndroidView in note video previews (#661) - ## Changes - Implemented Picture-in-Picture support for live streams - Implemented playing live stream in background - Implemented proper chat and zap loading logic - Implemented breath animation on big streaming pills - Implemented updating stale live streams (#656) - Improved connectivity indicator to avoid false positives - Improved video unavailable handling on streams (#650) - Use cronet for streaming videos for Google builds (#658) - Fixed padding on summary in article details header
More…
- Fixed generating share stream & article links (#651) - Fixed deep-linking crashes - Fixed overlapping zap items when big amount gets zapped - Fixed performance issue with zap items in live streams - Fixed unable to publish profile metadata with Enhanced Privacy (#655) - Removed click indicator from stream chat messages - Reduced live stream stale threshold to 1 hour - Added ZapStore publish flow