Release history

Changelog

Version history from the repo CHANGELOG.md — evidence-named releases, not marketing blurbs. Full notes live under GitHub.

  1. v0.4.0

    • **Mobile Experience Polish**: Added Swipe-to-Reply gestures, larger touch targets for better accessibility, and fixed virtual keyboard occlusion with `100dvh`.
    • **Core Refinements**: Theme synchronization fix (FOUC), message deduplication, and v0.4.0 versioning.
    • **Auto-Storage Configuration**: Automatically enables NIP-96 storage with `nostr.build` as default when hosted on Vercel to resolve "Local upload" errors out-of-the-box.
    • **Improved Settings UI**: Recommended storage providers are now always visible with clear descriptions and one-tap selection.
    • **Group Management Extensions**: Admins can now add members via public key, remove members from the settings sheet, and see role-based badges (Owner/Mod).
    • **Group Chat Avatar Upload**: Support for uploading a group avatar during the creation process.
    • **Group Metadata Editing**: Admins can now edit group name, description, and picture from the group settings sheet.
    • **Group Invite ID**: Added "Copy Invite ID" functionality to easily share group joining information.
    • **Native Avatar Upload**: Support for NIP-96 file uploads. Users can now upload profile pictures directly to Nostr storage providers or local storage.
    • **NIP-05 Verification**: Built-in verification flow for NIP-05 identifiers (e.g., alice@domain.com). Displays verification status in settings.
    • **DM Privacy Controls**: New granular privacy settings in "Privacy & Trust" tab. Users can now choose to Receive DMs from "Everyone" or "Contacts Only".
    • **Enhanced DM Filtering**: Client-side filtering of direct messages from strangers when "Contacts Only" is enabled.
    Release notes (docs)
  2. v0.3.7

    • **Message Reactions**: Support for NIP-25 reactions. Hover over a message to react with emojis. UI updates optimistically.
    • **Multiple File Uploads**: Users can now select and upload multiple images/videos at once in the composer.
    • **Automated Connection Requests**: Messaging an unaccepted peer now automatically triggers a formal connection request, improving the first-contact experience.
    • **Request Notifications**: Visual feedback (Toasts and Sidebar Badges) for connection request status.
    • **Desktop Uploads**: Fixed a 500 error in the desktop app by replacing `uuid` with `crypto.randomUUID()` to resolve bundling issues.
    • **Inbox Deduplication**: Fixed a bug where the unread request count would increment infinitely by implementing event ID deduplication.
    • **Sidebar Badges**: Fixed incorrect unread counts in the Sidebar "Requests" tab.
    • **Type Safety**: Refactored `ReactionsByEmoji` and `RequestsInboxItem` for better type safety and cleaner code.
    Release notes (docs)
  3. v0.3.6

    • **SemVer Compliance**: Fixed build issue where version `0.3.5.1` was rejected by Tauri/Cargo. Bumping to `0.3.6` resolves this.
    Release notes (docs)
  4. v0.3.5.1

    • **Build Error**: Fixed a TypeScript error in `lock-screen.tsx` where `onForget` was not destructured.
    • **Identity Reset**: Added a "Forgot passphrase? Reset account" button to the Lock Screen and Locked Identity View. This allows users to manually clear their local data and start over.
    Release notes (docs)
  5. v0.3.5

    • **Desktop/PWA Parity**: ensured feature parity between the Desktop app and PWA.
    • **Profile Save Timeout**: Fixed an issue where saving the profile on Desktop would hang indefinitely due to a deadlock in the Crypto Worker.
    • **Crypto Worker**: Forced the Crypto Service to use the main thread when running in Tauri context to avoid worker loading issues.
    • **Connection Reliability**: Increased timeouts for Relay connection (5s -> 15s) and Publishing (5s -> 10s) to handle slower network conditions.
    • **UI Popup Fixes**:
    • **Versioning**: Synchronized version across PWA, Desktop, and Tauri configuration.
    Release notes (docs)