Repository navigation
Mialuna 0.16.0 — First release
Mialuna 0.16.0 — First release
Mialuna is a media-first, decentralized social network powered by Nostr: photos, videos, Reels and Stories, with no company in the middle. This is Mialuna's first published GitHub release.
Highlights
- Stories, the Instagram way: write directly on photos and videos with multiple fonts, colors, backgrounds, resizing, rotation and draggable text. Hashtags in captions and story texts are tappable. Choose public or close-friends distribution, see segmented story rings and check who viewed your stories through encrypted receipts.
- Notifications: unread counters for notifications and private messages in Home, plus local Android system notifications for reactions, comments, zaps, new followers and messages. No push server or Google messaging service is used, and private-message notifications never reveal the message text.
- Private communication: end-to-end encrypted direct messages, close-friends posts and encrypted media. Encrypted posts have no unencrypted fallback.
- Web of trust: an optional, on-device spam filter based on your follow network. Message requests from outside the network stay separate from the main inbox.
- A faster Home: cached posts appear before network loading, follow lists are remembered locally, paging is more reliable and images load ahead of scrolling.
- Profiles and discovery: NIP-50 people search, NIP-05 addresses, tappable npubs, hashtag search, Following and Discover feeds.
- English and Italian, light and dark themes, Amber and remote-signer support, Blossom media uploads, Lightning zaps and Nostr Wallet Connect.
- New Mialuna icon, regenerated Android adaptive icons and iOS icons, plus a new screenshot gallery in the README.
Privacy and security
- Android backups and device-transfer exports are disabled for application data.
- Release builds reject cleartext traffic and user-installed certificate authorities.
- Private screens are protected from screenshots and recent-screen previews.
- Third-party HTTP fetches are restricted to public HTTPS hosts, with redirect, response-size and destination checks.
- Relay and signer URLs are validated, oversized relay messages are dropped and zap receipts are checked against signed requests and paid invoices.
- Signing out removes account-specific credentials, decrypted content, lists, preferences and caches.
Fixes
This release also includes improved NIP-51 list preservation, Unicode hashtag parsing, protection against concurrent cache writes, startup race fixes, more reliable story and feed paging, and several memory-lifecycle and UI corrections.
Install on Android
- Download
mialuna-0.16.0.apkfrom the release assets. - Open the APK on a device running Android 7.0 or later and allow installation from your browser or file manager if Android asks you to.
- Keep the existing app signature when installing future updates. Do not uninstall a version you want to upgrade in place, because Android may delete its local data.
The APK includes arm64-v8a, armeabi-v7a and x86_64 native libraries. It is signed with Mialuna's release key.
Verification
Built with Flutter 3.47.9 and Dart 3.13.7. The source passed static analysis and all 686 automated tests. A release APK was also launched successfully on an Android emulator.
- APK SHA-256:
ffa526e64f738f6a7980a5ff3ed5171ceb6d36e4700fe2188c3b95ae5f672593 - Signing certificate SHA-256:
5F:E4:44:55:43:21:44:8B:FA:7B:EB:FD:EF:F8:0E:84:1C:08:6D:80:91:59:A5:9A:82:B2:AA:EE:EE:D0:37:50
Full changelog: CHANGELOG.md