What's new
Notable changes you'll notice as a user. Internal refactors and build-pipeline tweaks are intentionally left out.
v1.8.0
Added
- A record of what happened in your spaces. The new Activity Log gathers who joined, left, or was approved, and what was shared and downloaded — kept on your device only. Open it from your Profile page, then search it or narrow it down by space, person, or date. Settings → Activity Log turns recording off, sets how long events are kept, or clears the log.
- Limit how much bandwidth Mirall uses. A new Network page in Settings caps download and upload speed — pick a preset, type your own figure, or leave it unlimited. A change takes effect straight away, including on transfers already running. The cap covers file transfers only, so your spaces and members keep syncing normally.
- A download folder of its own for each space. Each space can save its downloads wherever suits it — set Download Folder in Edit Space. Spaces you leave alone keep using the folder from Settings → Storage, and "Use default folder" puts a space back on it. Files you already downloaded aren't moved, and a folder you share or mirror can't be used, since anything landing there would be published to your peers.
Changed
- A tidier way around your profile and settings. The Account page is now Profile, and everything on it is grouped: "This device" for your connection, identity protection, and the Activity Log, "App" for the version you're running, What's New, keyboard shortcuts, documentation, and feedback. About has moved here out of Settings, which now holds your preferences only.
Fixed
- A shared folder that comes back is no longer flagged as missing. If the folder you shared went away and returned quickly — an external drive reconnecting, a network share remounting — the "source missing" warning on the folder and on its card stayed up even though everything was working again. The warning now clears as soon as the folder is back.
v1.7.1
Fixed
- A space keeps working when someone leaves. When the person who created a space left it, the space quietly froze for everyone else — nobody new could join, join requests went unanswered, and the member list stopped updating. When any other member left, the people they had invited were dropped along with them. Now only the person who actually left is removed, and everyone else keeps their place.
- Invite links open instead of quitting the app on Windows and Linux. Clicking a
mirall://joininvite link shut Mirall down on the spot — whether it was already running or started by the click — so the only way in was to copy the code out of the link and paste it into the Join dialog by hand. Invite links now open the Join dialog as intended, and a link with a trailing slash works as well as a bare code.
v1.7.0
Added
- Share straight from your files — no second copy. Mirall used to import a private copy of everything you shared into its own storage. It now serves your shared files and folders directly from the originals on your computer, so sharing no longer doubles their disk usage, and edits to a shared file are picked up in place.
- Approve who joins your spaces. Joining a space is now a request: the person stays pending until an existing member approves them, and only then do they gain access to the space's contents. You'll see a "wants to join" banner and can approve or deny individually or in a batch; the person waiting sees a clear "waiting for approval" view. Prefer the old open behaviour? Flip on auto-approve when you create the invite and anyone with the code is admitted automatically.
- See who's downloading from you. When someone downloads a file you've shared, its row now shows their avatar — expand it to see each person individually, with live progress, transfer speed, and an estimate of how long they have left.
- Live speed and time-remaining on transfers. Downloads now show their average speed and a steady estimate of the time remaining. While you wait on a file, you can watch the owner's live preparation progress instead of a blank "Preparing…".
- Pause, resume, and stop transfers. Downloads can be paused and resumed, stopped outright, and pick back up on their own when the owner comes back online. Each finished file carries a "verified" badge confirming its contents match the original exactly.
- Browse a shared folder as a collapsible tree. Subfolders are now rows you can open and close, each telling you what's inside at a glance: how many files it holds, their total size, how many are already on your device, and how many are downloading right now. Expand all and Collapse all fold the whole tree at once.
- See who's mirroring a folder you shared. A folder you own now shows the people keeping a live copy of it, each with their current state — synced, syncing, or paused.
- A bigger target for drag-and-drop sharing. Dragging a file anywhere over a space now expands the drop zone to fill the whole area.
- Quit from the menu on Windows and Linux. The File menu now offers "Quit Mirall" (Ctrl+Q), so you can fully quit the app instead of only closing it to the tray.
Security
- Your local app data is encrypted on your device. Mirall's local bookkeeping — your list of spaces, mirrored folders, downloads, and similar details — is now encrypted at rest with a key tied to your identity, so copying Mirall's data folder no longer exposes it. Existing data is migrated automatically the first time you open this version.
- Only approved members can read a space. A space's contents are now gated by a per-space key that's handed out only once an existing member approves your request to join — so being able to reach a space is no longer the same as being able to read what's shared in it.
- Your identity is encrypted on your device. Your signing key is now wrapped using your operating system's secure keychain and the plaintext is removed from storage. The Account screen shows this protection status.
- Tougher against abusive peers. Connection rate limits, sensible caps, and a firewall for misbehaving peers keep a flood of requests or oversized data from exhausting memory or CPU. Oversized avatars and over-long display names sent by a peer are now rejected.
Changed
- Simpler folder sharing. Sharing a folder no longer asks you to pick a transfer mode. The previous "On demand" option, and the cache-size setting it added to Storage settings, have been removed — serving files in place from their originals covers the same need automatically, with no separate cache to manage.
- Clearer, more consistent status colors. File status labels now follow a fixed, meaningful palette: green when a file is on your device, blue while it's transferring, yellow when something needs your attention, and red for an error.
- File sizes now match what your operating system shows. Sizes were divided in binary (1024) steps but labelled with decimal units, so a file Finder reports as 629.68 GB could read as "586.4 GB". Sizes now use the same decimal units as macOS Finder and GNOME Files, and very large files no longer show "undefined".
- Invites now come only from inside the space. Creating a space no longer hands you an invite code on the spot — it ends on a simple confirmation. To invite someone, open the space and use its Invite dialog: choose whether to auto-approve and how long the invite stays valid (2 hours, 2 days, or 2 weeks), then create a single link to share. Expired links are refused when someone tries to join.
- A native Mac build for each processor. Mirall now ships separate downloads for Intel and Apple Silicon Macs, so each gets a build matched to its processor.
Fixed
- Shared files stay inside the shared folder. Specially crafted file paths from a peer can no longer reach outside the folder you chose — neither to read or stream files from an owner's disk, nor to write or delete files on a mirror.
- Mirroring never overwrites your own files. If a shared file has the same name as one you already have, the mirrored copy now lands under a non-colliding name, and a peer can only ever remove its own mirrored copy — never your original. A mirror also can't be placed directly on a top-level personal folder such as Home, Desktop, Documents, or Downloads.
- Member lists stay in sync for everyone. We rebuilt how membership is shared between peers, so people no longer go missing, show up as "Unknown", or get stuck — and someone approved by one member now appears for everyone. Members also show their real name and avatar even before a direct connection is made.
- Leaving a space sticks, even if you quit part-way. Quitting while a space was still being left could bring it back on next launch; the leave now completes instead of reappearing.
- Files and members catch up on slow or flaky connections without a restart. On unreliable links a late-approved member might not see the space creator, and newly shared files could stay invisible until you restarted. Mirall now keeps re-checking in the background until everyone's view matches.
- Pasted invite links work in the Join dialog. Copying the "app link" form of an invite and pasting it into Join now works, not just the bare code.
- Mirroring pauses instead of erroring when a write fails — for example when your disk is full or the destination is read-only — and resumes once there's room, rather than retrying the failing file forever.
- Fixed a crash when showing a notification on Windows for certain spaces, members, or transfers.
- Long names no longer overflow confirmation dialogs. A long file, folder, or space name in a Remove, Leave, Delete, or Mirror dialog spilled out of the panel and pushed the close button aside. Names are now shortened in the middle, keeping the file extension readable.
v1.6.0
Added
- Share whole folders, not just individual files. Pick a folder on your computer to share into a space and Mirall keeps it in sync — add, edit, or remove files and everyone in the space sees the change automatically. Subfolders come along too.
- Browse and mirror folders others share. Open a shared folder to see what's inside without downloading everything, or mirror it to a folder on your own computer to keep a live, always-up-to-date copy. Pause, resume, or stop mirroring whenever you want.
- Share a folder "on demand". A toggle in the Add Folder dialog offers a folder's files to the space but only sends each one when someone actually downloads it — handy for large folders you don't want to push up front.
- The application menu is now on Windows and Linux, not just macOS.
- See and free up space per shared folder. Storage settings now shows how much each shared folder is using, and Mirall reclaims unused space on its own when a space goes quiet.
- Collapsible Storage and Members panels in the space sidebar, so you can fold away what you're not using.
Changed
- A more consistent interface throughout. Status labels and colors, avatars, buttons, corner radii, and spacing have been harmonized across every screen.
- Quicker ways to get around. Go back the way you would in a browser — your mouse's back button, a two-finger swipe on macOS, or Cmd/Ctrl+Left — and jump back to your spaces anytime from the logo or with Ctrl+H (Cmd+Shift+H on Mac).
- Full keyboard and screen-reader support. Every screen is now navigable by keyboard and works with assistive technology, and Mirall honors your system's reduced-motion preference.
- A pending update now shows in the About screen, and the update banner no longer covers up content while you work.
- Fewer prompts when installing on Windows. The installer no longer asks for permissions Mirall never actually needed.
Fixed
- Downloads no longer overwrite your existing files. A download whose name matched one already in your downloads folder now lands at a safe, non-colliding name.
- Space members no longer go missing. Joining a busy space could occasionally drop someone from your member list until you reconnected — everyone now shows up reliably.
- Windows updates now install reliably, resolving a failure that could stop a detected update from applying.
- Re-adding a file at the same path is handled correctly instead of looking like a stuck, half-finished download.
- No more flicker when you drag a file over the drop zone.
- A cancelled download no longer leaves a row stuck as "paused".
- The "on your device" indicator stays accurate after a file is removed or re-shared.
- The file list stays usable when no peers are currently connected.
v1.5.3
Fixed
- Windows updates now install. New versions were detected and the banner appeared, but on Windows the update never actually applied. Updates now install correctly on quit and restart.
- The version number shows immediately in the About screen instead of briefly displaying a placeholder while it loaded.
v1.5.2
Fixed
- Scrollbars match the app again. They had reverted to the pale system default; scrollbars now follow the theme across all platforms.
v1.5.1
Fixed
- Invite code shown after creating a space now matches the one in the Invite dialog, and carries the space name so the person joining sees the real name instead of "Shared Space".
v1.5.0
Added
- Shareable invite links. Send an invite as a clickable link that opens Mirall straight to the Join dialog, or as the plain code. Invites also carry the space name.
- New Account page. Click your avatar in the top-right to open a dedicated page that gathers your profile and your network connection in one place.
- At-a-glance connection status. Your avatar gains a soft pulsing ring when something's wrong — red if you've lost internet, amber while Mirall is trying to recover.
- A heads-up when your connection drops. A toast appears the moment Mirall notices a problem, with a Show details link to the Network page.
- Network page with friendly diagnostics — what Mirall sees about your connection, things worth checking, and a Reconnect button.
Changed
- Settings is now just app settings. Profile editing and network status moved to the new Account page. Settings keeps Appearance, General, Notifications, Storage, and About.
Fixed
- No more empty files from dropped folders. Dragging a folder used to silently create an empty file; Mirall now recognises the folder and asks you to pick individual files instead.
v1.4.0
Added
- Mirall now lives in your menu bar (macOS) or system tray (Windows / Linux). Closing the window no longer shuts the app down — peers stay connected and transfers keep going. Settings → General lets you opt out, or opt in to Launch at login.
- Keyboard shortcuts and a command palette. Press ⌘K (Ctrl-K) for a command palette, and ⌘/ (Ctrl-/) for the full shortcut list.
Changed
- Settings reorganized. Theme, display size, and language now live under a new Appearance page; background mode and Launch at login under General.
Fixed
- No more duplicate "online" notifications when a peer's connection briefly drops and comes back.
- No more white flash when resizing the window — the window background now tracks your chosen theme.
v1.3.1
Fixed
- More reliable first launch. Mirall now starts up cleanly even while a newer version is being fetched in the background.
- Smoother updates on Windows and Linux — a new version installs quietly in the background and is live the next time you quit and reopen.
- Better contrast on the Downloading status pill in the light theme, meeting WCAG contrast requirements.
v1.3.0
Added
- Choose where downloads go. Storage settings has a new Download folder entry; pick any folder and every download lands there.
- Clear peer cache (per space) from a kebab menu on each Storage row, without leaving the space.
- Notifications when a peer removes a shared file you're downloading, instead of the transfer hanging silently.
Changed
- Honest per-space storage figures — downloaded files now count against the space they belong to.
- Atomic downloads. In-progress downloads write to a hidden .partial file and rename on completion.
Fixed
- Transfer-failed notifications now show a translated reason instead of a raw error code.
v1.2.0
Added
- "What's new" modal. After an update, Mirall shows what changed; the full history is also under Settings → About → What's new.
- Italian interface, alongside German, English, French, and Spanish.
- Zoom levels — Compact, Cozy, Default, and Spacious under Appearance, or step through with Cmd/Ctrl +, −, and 0.
Changed
- Refreshed the light and dark themes — warmer per-space colors and better legibility in dark mode.
Fixed
- Linux: the AppImage stays executable after an automatic update.
v1.1.0
Added
- Desktop notifications for incoming files and space activity.
- French and Spanish interface, alongside German and English.
- Styled scrollbars in the space and file lists.
Changed
- Text selection is disabled app-wide for a native feel; copyable values now have dedicated copy buttons.
Fixed
- Screen reader support — icon-only buttons and clickable rows now expose proper accessible names.
v1.0.1
Added
- German interface, auto-detected from your OS locale on first run.
Fixed
- The file list now refreshes when a peer sharing files disconnects.
- Windows: the update banner now appears as expected when a new build is available.
- Storage settings: a clearer Cache / Metadata / share-of-total breakdown.
v1.0.0
Added
- Initial public release.
- Peer-to-peer file sharing — files travel directly between you and the people you share with, with no central server.
- Spaces — named collections with their own membership and invite codes.
- Built-in updates that apply automatically.
- Onboarding flow for choosing a display name and avatar.
- Available for macOS, Windows, and Linux.