Repository navigation
Releases
v0.2.1
Giddy up 🏇
This release focuses heavily on polishing the notification experience, improving image handling, and fixing various UI/UX issues reported by the community. Performance optimizations throughout should also result in a smoother, more responsive experience.
✨ New Features
Notifications & Navigation
- Deep linking for notifications - Tapping a notification now routes directly to the correct chat or invite screen #781
- Automatic notification clearing - Notifications for messages and invites automatically disappear when viewing the related chat #803
- Unread counts - Added unread message counts for both DMs and groups #806
- Notification translations - Added proper localization support in notifications #863
Images & Media
- Automatic image downloads - Images in messages now download automatically #876
- Image zoom - Added zoom functionality for images in messages #834
- Media icons in previews - Message previews in the chat list now show a media icon when images are present #841
User Experience
- Identicons - Replaced single-letter avatars with unique identicons for better visual identification #719
- Unsaved changes dialog - Added protection against accidental back navigation on the edit profile screen #765
🐛 Bug Fixes
Chat Experience
- Scroll behavior improvements - Chat now jumps instantly to bottom on open, doesn't auto-scroll for incoming messages, and only scrolls when you send a message #833
- Fixed disappearing messages - Messages no longer temporarily disappear after being sent #828
- Better hit-box - Chat bubble hit-box now spans the entire width for easier interaction #481
- Scrollable group details - Group chat details during creation flow is now properly scrollable #724
Notifications
- Missing notifications fix - Fixed issue where multiple messages arriving in the same polling window would miss notifications #848
- Inactive account navigation - Fixed notification navigation for inactive accounts #863
UI Polish
- Developer settings - Fixed content going under three-button bottom nav on GrapheneOS and some Android devices
- Keypackage buttons - Fixed loading state showing incorrectly on keypackage operation buttons
- Chat screen padding - Reduced unnecessary bottom padding in chat screen #859
- Avatar colors - Refactored avatar color handling for consistency #858
⚡ Performance Improvements
- Optimized group metadata - Improved group metadata loading and caching #809
- Non-blocking user fetch - Changed several places to use non-blocking user fetch for better responsiveness #827
- Smarter data loading - Added digests and improvements to avoid reloading everything on every update
- Notification efficiency - Avoid fetching all groups unnecessarily for notification details #844
- Background sync optimization - Increased foreground task repeat interval from 1 second to 60 seconds for better battery life #829
🛠️ Technical Improvements
v0.2.0
An Encrypted Picture is Worth A Thousand Notes 🖼️
We're excited to announce the release of White Noise v0.2.0! This update brings a host of new features, improvements, and bug fixes to enhance your experience. Here's a comprehensive summary of the changes since the latest tagged release v0.1.4 (released on September 22, 2025):
🚀 Major New Features
Media Support & File Sharing
- Complete media upload system: Added ability to upload and send images through chat messages.
- Blossom server integration: Implemented optimistic media uploads to Blossom servers for decentralized file storage.
- Media preview & thumbnails: Added image previews, thumbnails, and media galleries within chat messages.
- Media reply functionality: Users can now reply to messages containing media with preview support.
- Image modal viewer: Full-screen image viewing with scroll support.
- Media file management: Complete media file upload model with upload states (uploading, uploaded, failed).
Background Sync & Notifications
- Background sync service: Added WorkManager-based background synchronization for messages and invites.
- Foreground task service: Implemented foreground service for real-time message syncing (currently 1-second polling).
- Push notifications: Added notification system for new messages and group invites when the app is in the background.
- Notification permissions: Added proper notification permission requests on the contact list screen.
- Android notification icons: Added proper notification icons for different screen densities.
Internationalization (i18n)
- Multi-language support: Added comprehensive localization system supporting 8 languages:
- English (en)
- German (de)
- Spanish (es)
- French (fr)
- Italian (it)
- Portuguese (pt)
- Russian (ru)
- Turkish (tr)
- Language selection: Added language picker in settings with system default option.
Group Management Enhancements
- Add members to existing groups: Users can now add new members to existing group chats.
- Group image management: Added ability to upload and update group profile images from group settings.
- Group avatars in messages: Added user avatars display in group chat messages for better identification.
🔧 Improvements & Fixes
UI/UX Enhancements
- Chat input improvements: Enhanced message draft logic and chat input functionality.
- Message positioning fixes: Fixed message bubble jumping and positioning issues in reaction context menus.
- Haptic feedback: Improved haptic feedback for chat context menus.
- Keyboard handling: Fixed keyboard covering text fields and improved keyboard-aware scrolling.
- Header pinning: Pinned navigation headers in auth flow screens when the keyboard is open.
- Bottom sheet improvements: Fixed start chat button cut-off and other bottom sheet UI issues.
- Status bar visibility: Fixed status bar icons invisibility on auth screens (iOS and Android).
Performance & Stability
- Chat loading optimizations: Improved chat loading performance and reduced delays.
- Group image path optimization: Optimized group image path loading and DM header rendering.
- Message sync improvements: Enhanced message synchronization and reduced duplicate processing.
- Draft message system: Improved message draft saving and restoration logic.
Bug Fixes
- Group updates: Fixed group name and description updates not reflecting in real-time for other group members.
- DM creation: Fixed 2-user group creation when DM already exists.
- Profile image upload: Fixed broken profile image upload functionality.
- Double rendering: Fixed double rendering issue for some messages.
- Notification polling: Optimized notification polling intervals for better battery life.
Code Quality & Architecture
- Metadata cache removal: Removed metadata cache provider for simplified architecture.
- Contact → User Profile: Renamed "contact" terminology to "user profile" throughout the app.
- Rust crate updates: Updated whitenoise and mdk crates with latest improvements.
- Edition 2024: Updated Rust code to use Rust Edition 2024.
- Test improvements: Enhanced test coverage for draft message service and other components.
🛠️ Development & Build System
- Android build improvements: Added justfile commands for building test APKs for android-arm64.
- Kotlin plugin update: Updated Kotlin Android plugin from 1.8.22 to 2.2.20.
- Zapstore configuration: Updated zapstore publishing configuration.
📊 Statistics
- 60+ commits since v0.1.4.
- Major contributors: @codeswot, @josefinalliende, @untreu2, @Quwaysim, @jgmontoya, @erskingardner, @vladimir-krstic
- Timeframe: September 22, 2025 to November 5, 2025 (approximately 6 weeks of development).
v0.1.4
Big Plans... 🦫
Thank you to everyone who tested v0.1.3 and gave us feedback. As the saying goes, everyone has a plan until they get punched in the face. Well, we got punched in the face on the last release. Being able to see the real-world usage and issues that cropped up was invaluable, however. You should see significant improvements across the board.
For v1.0.4 we took on a major refactor of the underlying whitenoise rust crate that does most of the heavy lifting in the app. These "backend" changes required significant updates here in the app to align to the new rust API and includes numerous bug fixes, refactors many internal components for better maintainability, and improves the overall responsiveness of the application. Finally, we did a lot of UI/UX polish along the way.
Stability and Performance
- Improved backend: The backend that manages relay connects, event processing, and group operations has been significantly overhauled resulting in a more stable and performant app. See the whitenoise repo for more.
- Improved Relay Handling: Relay connection checks have been refactored to provide better error handling and a more stable experience (#670, #668). Pull-to-refresh for relays has been removed to simplify the user experience (#669).
- Performance Fixes: Several performance improvements have been made to reduce lag and improve the overall responsiveness of the app (#633, #615).
- Bug Fixes: Numerous bugs have been fixed, including issues with account switching (#676, #618), metadata handling (#594), and chat message display (#672).
- Android Specific Fixes: Addressed a bug with sensitive clipboard handling for private key copying on Android (#522).
Features and Functionality
- Group Management: Users can now edit group names and descriptions from the group info page (#634).
- Message Drafts: Message drafts are now stored securely, so users won't lose their messages if they navigate away from a chat (#566).
- Improved Navigation: Added back buttons in the authentication flow and improved navigation within the app (#639, #519).
- Key Package Admin: Added a new screen for managing key packages (#621).
UI/UX Enhancements
- Improved Chat Experience: The chat auto-scroll behavior has been enhanced to work better with the keyboard, preventing messages from being hidden (#658). The swipe-to-reply widget has also been refactored (#520).
- Redesigned "Start New Chat" Sheet: The "Start New Chat" sheet has been redesigned for better performance and usability, reducing load times and improving scrolling (#656).
- Skeleton Loaders: Skeleton loaders have been added to provide a better user experience while content is loading (#653).
- Emoji Picker and Reactions: The emoji picker and reaction dialogs are now more responsive and visually appealing (#650, #538, #465).
- Consistent UI Components: Various UI components, such as buttons, icons, and headers, have been unified and made consistent across the application (#677, #674, #568, #527, #526, #510).
- Custom Bottom Sheet: A new custom bottom sheet with fade-in/out animations has been implemented for a smoother user experience (#640).
- Visual Polish: Numerous small visual improvements have been made, such as adjusting padding, fixing alignments, and updating icon colors (#675, #671, #666, #655).
Miscellaneous
- Versioned binaries: Binaries now include version number
- v7a Android Binary: Added a
v7aAndroid binary for older Android devices - SHA-256 binary hashes: Switched from SHA-1 to SHA-256 hashes for binaries
Contributors
The following contributors had code included in this release:
v0.1.3
Decentralization is hard
This release focuses on fixing many reported issues from users and continued improvement of the UI. We have specifically focused on improving user data fetching and on relay management to improve the process of finding and starting chats with other users.
Note: We're still seeing issues with creating groups with more than one user, which we're working on now.
🎯 Major Features Added
Search & Discovery
- Chat Search (#394) - Added comprehensive in-chat message search functionality with highlighting
- Chat List Search (#347) - Added search capability to the main chat list
- QR Code Features:
User Profile & Contact Management
- Enhanced User Profiles:
- Group Management:
Network & Relay Management
- Complete Relay Management System (#404):
- View and manage relays
- Add/edit relay options
- Enhanced relay input with validation (#359)
- Real-time relay status monitoring
- Pull-to-refresh functionality
🔧 UI/UX Improvements
Visual & Interaction Improvements
- Input Fields: Consistent paste/copy buttons across all inputs (#407)
- Avatars: Added borders to contact avatars (#405)
- Message Bubbles: Fixed message content wrapping (#399)
- Bottom Sheets:
- Splash Screen: Updated with fixed blurry icon issues (#363)
Enhanced Interactions
- Reactions: Fixed reactions display for other participants (#340)
- Chat Input: Fixed jumpy chat input behavior (#386)
- Navigation: Fixed switch accounts navigation (#381)
🐛 Bug Fixes & Stability
Authentication & Profile
- Fixed login bugs and button loading states (#316)
- Fixed petname loading during profile creation (#323)
- Prevented duplicate chat creation (#322)
- Fixed profile picture alignment in edit screen (#372)
Metadata & User Data
- Major Metadata Cleanup (#406, #384):
- Removed and renamed username instances for consistency
- Standardized on
displayNamethroughout the application - Fixed metadata inconsistencies
Relay Management
- Improvements to relay selection and connection based on outbox model
- Improvements in key package fetching and inbox relay delivery
- Fixed issue where we clobbered existing relay lists
UI Polish
- Fixed search highlighting colors (#403)
- Adjusted reaction spacing (#326)
- Fixed various navigation issues (#330, #325, #328, #329, #332)
🧪 Testing & Development
Developer Experience
- Enhanced clipboard testing utilities (#402)
- Improved linter compliance (#361)
- Added debugging documentation (#342)
- Updated CI workflow
- Component migration documentation (#382)
Code Quality
- Replaced
printstatements withdebugPrint - Added mounted checks to prevent widget disposal errors
- Improved error handling and validation
- Enhanced code formatting consistency
📱 Platform-Specific Updates
Android
- Android 12+ splash screen support
- Updated splash screen assets for various densities
- Enhanced styles for night mode
iOS
- iOS dark mode splash screen support
- Updated launch screen storyboard
- Improved metadata fetching for iOS
🔄 Technical Improvements
Performance
- Optimized metadata fetching for bottom sheets (#337)
- Improved contact list performance
👥 Contributors
- @emiryorulmaz
- @elmubarak333
- @moalliende
- @qaasim405
- @FerricBalestreri
- @erskingardner
- @delcin-raj
v0.1.2
Nothing stops this train
This is a collection of bug fixes and small improvements for finding contacts, managing accounts, and generally not having stuff happen when you don't want it to.
Added
- Show the npub of each user on the contacts list
- Add developer settings screen with some basic cache management functions
- Add relay management settings screen to view and manage your relays
- Confirmation dialog when signing out
- Fixed back navigation when connecting another account
- QR code scanner for connecting with other users
Removed
- Remove (for now) the mute and search chat controls from group info screens.
- Remove incorrect group npub from the group info screen.
Fixed
- Fixed profile picture upload issue.
- Ensure that group creator cannot be included as member
- Prevent duplicate chats on clicking contact
- Bug fixes related to starting new groups on iOS
- Ensure contacts show correct metadata on iOS
Full changelog at CHANGELOG.md.
v0.1.1
Post launch bug fixes
A collection of quick bug fixes found during launch! Keep the reports coming.
What's Changed
v0.1.0
Initial Release
White Noise: The Identity-Free Messenger for Private, Censorship-Resistant Communication
In a world where every message is tracked, White Noise offers a refuge. Built on the decentralized Nostr network and fortified with cutting-edge MLS encryption, it’s the first messenger that’s truly private, fast, and scalable—no phone numbers, no emails, and no central authority.
Why You Need It:
- Private by Design: End-to-end encryption with forward secrecy and post-compromise security—your messages stay hidden, even if keys leak.
- No Censorship. Ever. Thousands of independent relays keep conversations flowing, no matter the pressure. Run your own or use trusted nodes.
- Identity Freedom: Choose anonymity, a pseudonym, or your real name. Your data, your rules.
- Scale Without Limits: From one-on-one chats to groups with thousands, White Noise stays fast, secure, and seamless.
- Open Source & Community-Driven: Built transparently for trust and security. Everyone can inspect the code, verify claims, and contribute improvements. No backdoors, no corporate control, just a free, open tool for everyone.