The new era of communication begins.
Concord v2, Bots and Slash Commands, disappearing messages, holographic achievement badges, and a long list of chat, emoji, and Android refinements.
New:
- 💚 Concord v2: new Communities now run on Concord v2, bringing major privacy and stability improvements. Existing Communities keep working.
- 🤖 Slash Commands & Bots: a Discord-style
/command picker with a structured composer, so bots can offer real commands with typed parameters. Type/, pick a bot, fill in the fields. - 🔏 Amber Signing (Android): keep your keys in Amber (NIP-55) and let Vector request signatures, so your nsec never touches the app.
- ⏳ Self-Destruct Timer: set a per-chat timer and watch messages disappear on your own schedule.
- 🏅 Holographic Badges: earn tiered Bug Hunter badges (NIP-58) that unlock in-app perks, shown on an interactive 3D card that tilts with your device.
- 📋 Clipboard Files: copy files out of Vector and paste files straight in, across macOS, Windows, Linux, and Android.
- 🖼️ Image Metadata Control: photos are stripped of EXIF and location data by default, with an opt-in toggle to keep the original metadata when you want it.
- 🔔 Private Notifications: a content-privacy setting to hide the message, or the sender and message, from your notification shade.
- 👤 @Mentions Everywhere: npubs now render as tappable @mentions in messages, bios, and system events, each opening a mini-profile.
- 💬 Chat-List Menu: right-click or long-press any chat for Mark as Read/Unread, Mute, Block, and Leave.
- 😀 Reaction Revoke: take back a reaction you added, in DMs and Communities.
- ✍️ Autocorrect: optional as-you-type autocorrect in the composer, on by default and easy to turn off.
- 🙂 Emoticon Suggestions: type
:)for 🙂 or:Pfor 😛, with a toggle to keep them as plain text. - 🫥 Hide Media from Gallery (Android): an optional setting (off by default) to keep received images and files out of your device Gallery.
- 🧹 Cleaner Links: more tracking parameters (eBay's included) are stripped from URLs before you send or open them.
- 📊 Storage Breakdown: a storage donut in Settings shows what's using space, with per-category deletion.
Improved:
- 🔦 Windowed Scrollback: long chats render in a sliding window with anchored loading and a jump-to-unread button, so scrolling stays smooth no matter how deep the history.
- 😀 Emoji Panel: reorder equipped packs by drag (synced across devices), a most-used tracker surfaces the ones you actually reach for, and in-chat pack previews render on canvas for smoother scrolling.
- 🤏 Pack Rail Gestures: scroll the rail from anywhere, hold to grab a pack, keep holding for its menu (drag out of the menu to keep dragging), and long drags auto-scroll at the edges.
- 🏗️ Create Group: redesigned into one clean screen, with a live selection counter and a name hint that only appears once it matters.
- 💌 Invite Panel: a flat, full-width layout that stops squeezing phones, other admins' links collapse to a single line, bots wear their badge, and it opens fully rendered in one paint.
- 🖼️ Image Viewer: a rotate button, glitch-free opening, and smooth pinch or trackpad zoom that anchors to your cursor instead of drifting to the center.
- 🔁 Multi-React: shift-click to stack several reactions without the panel closing, with counters that roll as they change.
- 🎧 True Stereo: the audio player now plays voice and music in full stereo instead of folding everything to mono, and decodes long recordings about 4x faster.
- 🧾 Dated Diagnostics: upload and download failures land in a copyable, date-stamped log now, so "it failed for me" reports are actually solvable.
- ✏️ Edit History: message edits now carry custom emoji and survive a reload.
- 🌸 Smarter Media Servers: Blossom favors your own media servers and fails over on gateway timeouts instead of hanging on a dead one.
- 🪞 Automatic Mirroring: every attachment you send is copied to a second media server on the spot, and the message carries its backup sources, so one dead server no longer means a dead file.
- 🗜️ Lean Uploads: avatars, banners, and emotes are metadata-stripped and compressed before they leave your device.
- 🔗 DM Relay List Sync: your NIP-17 relay list merges across devices now instead of overwriting itself.
- 📎 Upload Controls: see the upload rate and cancel a send from the toolbar or right-click.
- 🧭 Desktop Deeplinks: invite and profile links now open Vector on Windows and Linux, whether it's cold-starting or already running.
- 🚄 Faster Sync & Boot: deep syncs persist in single batched transactions, unread counts come from an in-memory cache, and attachments moved to a dedicated table.
- ⚡ Cursor Sync: Vector now remembers exactly where each relay left off, cutting the initial DM sync from up to a minute down to a couple of seconds.
- 🏹 Volley Sync: Communities load their freshest messages in mass-batched volleys at boot, most recently active first, so every channel paints in seconds instead of minutes.
- 🚀 Faster Hex: all hex encoding and decoding routes through SIMD, up to 59x faster to encode and 8.6x to decode.
- 🧬 Protocol Stack: upgraded to nostr-sdk 0.45 and iroh 1.0, with every high-severity dependency advisory cleared.
Fixed:
- 📤 Phantom "Failed" Sends: messages that actually sent no longer flip to red and re-send themselves, which was double-posting on shaky connections. Retries now reuse the original gift-wrap and rescue late relay confirmations.
- 📎 Endless Download Spinners: flaky media servers get bounded timeouts and retries now, and a download that truly fails says so with a tap-to-retry instead of spinning forever. The flakiest default server was retired while we were at it.
- 📥 DM Delivery: relays that refuse sync reconciliation no longer black-hole your DMs; Vector falls back and fetches anyway.
- 🔄 Sideways Photos: photos with orientation metadata (iPhone, GrapheneOS) now send upright instead of rotated.
- 💬 Reply Context: replies show their quoted message on the first chat open, not the second.
- 🎙️ Android Voice Crash: starting a voice message no longer crashes on the mic-permission prompt.
- 🧅 Tor: creating a Community over Tor is reliable now, and the Tor toggle recovers with an error instead of locking on "Starting…" after a failed bootstrap.
- 🔢 Unread Counts: the badge no longer sticks at 99+ or shows phantom unreads, blocked chats no longer feed the dot, and your backlog survives a restart.
- 👻 Ghost Duplicates: orphaned pending messages no longer linger as duplicate rows in a chat.
- 🖼️ Wrong Cached Image: attachments are content-verified before any disk reuse, so you never open the wrong image.
- 😀 Pack Creator: bulk-adding emotes no longer drops files, oversized art auto-fits, and the grid scrolls under a finger.
- 📁 Android Attachments: files picked from the system file dialog now send reliably in group chats.
- 🔗 Link Spoofing: markdown links whose text hides their real destination are blocked, with a safety preview on hover or tap.
- 🤖 Android Back Button: back now closes the image viewer and mini-profiles the way you'd expect.
- 🔕 Android Notifications: alerts clear once read in-app and no longer go silent after the app is swiped away. A locked device now buzzes once for a backlog instead of flooding you with generic alerts.
- 📨 Stale Invites: Community invites now expire on the receiving side too, so a machine that has been off for a month no longer boots into a page of dead invites.
- 📲 Android Invite Links: tapping a Community invite link on Android now opens Vector and takes you straight to the invite, instead of doing nothing.