← Back
Changelog
Release history for LocalDrop.Dev. Newest on top.
1.1.4
Latest
2026-05-07
macOS auto-update story lands: in-app DMG installer, native
Settings → About / Updates card, Dock right-click menu, and a
boot-time prompt that surfaces an available update even in
tray-only mode. On Windows, a single Ctrl+C
no longer pops the device picker — Cloud Clipboard sync used to
fire a duplicate event that fooled the share-menu trigger. On
Android, notifications actually appear on Android 13+ thanks to
a proper runtime permission flow. Plus host-aware UI font
(SF Pro / Segoe UI Variable / Inter) and an editor fix
for the typing-into-a-text-annotation case.
✨ New
- macOS in-app updates. Settings → Updates
→ Download streams the new DMG, mounts it, replaces the
running app (with a rollback path if it fails), and
relaunches. No browser hop, no manual drag-to-Applications.
- Native macOS Settings → About / Updates card
with install-source detection. The card branches by where
you got the app from — direct DMG, TestFlight, or Mac App
Store — and shows the right action ("Download", "Open
TestFlight", "Open in App Store").
- Dock right-click menu on macOS mirrors
the menu-bar tray. Capture region, fullscreen, record
screen, Open Received Files, Settings, Report a bug, Quit
— same items, same shortcuts.
- Update prompt at launch when a new
version is available. Shows in tray-only mode too (was
previously invisible until you opened the main window).
Three actions: Skip this version, Later, Update now.
- Per-OS release notes in the auto-update
payload — the popup now shows the items that actually apply
to your OS, instead of a single one-size-fits-all blurb.
- Android notifications work on Android 13+.
The runtime permission is now requested at first send
(lazy, with an explanation dialog if the OS asks for one)
instead of being declared but never asked for. Adds a
Settings → Permissions card so you can re-grant after a
denial without digging through Android Settings.
- Host-aware UI font. SF Pro Display on
Apple, Segoe UI Variable on Windows 11+, Inter on Linux —
instead of the previous Roboto-everywhere fallback that
looked off against native chrome on non-Apple platforms.
🐛 Fixes
- Windows: single Ctrl+C used
to pop the device picker. Cloud Clipboard sync
fires a duplicate event for the same press that fooled the
"press ⌘C twice to share" trigger. Now only real
keystrokes count — system-driven echoes are filtered out
deterministically.
- Editor no longer discards your image
when you press Backspace or Delete while typing into a
text annotation. The keys now reach the inline text field
normally; the discard prompt only fires when nothing is
being edited.
- macOS TestFlight link in Settings.
"Open TestFlight" used to point at the iOS public link,
so macOS TestFlight users landed on "App not available".
Fixed to the right macOS beta-group link.
✦ Polish
- Sub-window popups on macOS: smoother chrome, no more
"black band" below the rounded surface, and the update
prompt resizes cleanly when you toggle "What's new".
- The Dock icon now stays put on macOS instead of toggling
between accessory + regular mode (Tahoe started swallowing
the custom Dock menu in accessory mode).
1.1.3
2026-05-05
Quality-of-life pass on the received-files popup and the macOS
editor. New Clear all button that sends files
to the system Trash / Recycle Bin instead of hard-deleting,
Windows installs updates from inside the app instead of opening
a browser, and every device now shows a last-seen timestamp so
you can spot stale entries at a glance. Plus a sweep of macOS
editor and popup fixes.
✨ New
- Clear all button in the received-files
popup. Confirms first, then sends every file to the
platform's recoverable bin where one exists — Trash on
macOS, Recycle Bin on Windows. Linux, Android, and iOS
still hard-delete (no system-wide recycle path on those
platforms).
- In-app updates on Windows. Settings →
Updates now downloads the new installer in the app and
runs it silently. The previous behaviour was to open the
release URL in a browser and leave you to do the rest.
- Last-seen badge next to each device's
fingerprint (now / 5s / 2m / 1h / 3d). Useful
when a peer reinstalled and now appears twice — the older
entry's badge tells you which one is the ghost.
🐛 Fixes
- macOS received-files popup width. Was
opening at a tiny 100×540 strip because AppKit's auto-layout
sized the window from intrinsic content. The popup now
opens at the correct 540×540 (drag to resize, the new size
is remembered).
- macOS editor close button. Clicking the
X (or pressing ⌘W) no longer asks “Discard capture?”
— it keeps the file silently. Pressing Delete still asks
first since deleting is a destructive action.
- Capturing while the editor is open no
longer leaves you stuck staring at the “Discard?” modal.
The new capture closes the previous editor on its own and
the region overlay opens normally.
- Recording preview after Share. The video
player no longer goes black after you tap Share — it
reattaches to the renamed file so you keep watching your
recording.
- Device list jitter. Peers no longer
reshuffle on every UDP announce. Active peers stay on top,
stale ones drop below; within each bucket the order is
stable.
- macOS settings reverting on restart.
Every native UI toggle (Launch at startup, Continuous
capture, auto-copy, every shortcut, language) was reading
the wrong storage key on restart and quietly resetting to
the default. Fixed.
✦ Polish
- Grid view reserves a label band at the bottom of each
card so the filename always reads, even at the smallest
zoom level.
- List view rows are draggable to other apps (Finder,
Discord, Slack, etc.) — same gesture as the grid card.
- Received-files popup default size bumped to 540×540
(was a cramped 360×440).
1.1.2
2026-05-04
Hotfix on top of 1.1.1: the macOS Send via LocalDrop
clipboard popup occasionally re-appeared by itself right after
you clicked outside to dismiss it. Fixed. The same safety
guard also lands on Windows.
🐛 Fixes
- macOS: ⌘C+⌘C share menu re-popped itself
after a click-outside dismiss when the click landed on an
app that auto-copies on selection (or when iCloud
Universal Clipboard synced). The watcher now ignores
clipboard events while the menu is open AND for a 1-second
cooldown after dismiss — the shortcut still works on the
next press, just no auto-spam.
- Windows: same two guards added as a parity safety net.
TrackPopupMenu's modal loop dispatches
WM_CLIPBOARDUPDATE messages, so the same
pattern was theoretically possible.
iOS, Android, Mac App Store, and Google Play stay on 1.1.1 —
this fix only affects the desktop clipboard-share flow on
direct downloads.
1.1.1
2026-05-04
File transfers now run over end-to-end encrypted HTTPS with
Trust-On-First-Use peer fingerprint validation. iOS ships
properly for the first time (Apple's multicast networking
capability got approved). New “Continuous capture” toggle in
Settings lets a new screenshot replace the open editor instead
of stacking endless windows, and the editor's ESC / Delete
keys behave the way you'd expect — Esc closes and keeps the
file, Delete asks first then removes it.
✨ New
- Encryption. Every file transfer now uses
HTTPS with a per-install self-signed RSA 2048 certificate.
The first time you connect to a peer, its fingerprint is
silently remembered (Trust-On-First-Use). If the same
peer's fingerprint changes later — usually because the
other side reinstalled — a warning popup asks whether to
trust the new key, cancel, or block that device.
Wireshark on a transfer now shows only encrypted bytes.
- “Continuous capture” toggle (Settings →
Screenshot, off by default). Off = a new capture closes
the open editor and replaces the image. On = every capture
opens its own editor, useful when you want to screenshot
the editor itself for a bug report.
- iOS ships. Apple approved the multicast
networking capability needed for peer discovery on local
Wi-Fi. The iOS App Store build is functional end-to-end,
including HTTPS+TOFU and the system Share Sheet.
✦ Polish
- Editor key bindings. ESC with no
annotation selected now closes the editor and keeps
the file — distinct from the toolbar X (still
discard + delete). Delete with no annotation selected
asks “Delete this screenshot?” and removes the
file on confirm.
- Settings → Text tab rewritten per OS,
with structured icon-row cards instead of a generic
wall of text. Documents the previously-hidden
⌘C / Ctrl+C twice quick-share
workflow on desktop.
- Heads-up: the device-fingerprint scheme
changed (it's now the cert hash, not a random UUID).
Favorites + blocked-devices lists + cached PINs from 1.1.0
will reset on first launch — re-favorite peers and re-enter
PINs once.
🐛 Fixes
- Android cert generation produced an invalid signature
(Java's RSA private exponent uses a different reduction
than OpenSSL's), so the HTTPS server failed to start
silently. Fixed by reading the public exponent verbatim
from the PEM rather than re-deriving it.
- macOS clipboard
⌘C+⌘C quick-share didn't
fire when the two presses landed inside the same 300 ms
poll window. Now detects the back-to-back pair in a single
tick.
- iOS share sheet kept re-prompting “Send N files
to…” on every launch because the inbox was listed but
never drained. Fix: move incoming files into a temp
directory on read, so the same file can't re-trigger.
- Cert files written by an older buggy build are now
self-validated on load — broken on-disk certs are deleted
+ regenerated instead of looping the app at startup.
1.1.0
2026-05-04
The Received-files popup now matches across every platform:
live search, sort, list/grid toggle, and zoom (Ctrl+scroll on
desktop, two-finger pinch on mobile). New Add device by
IP button next to "Nearby Devices" lets you reach peers
across subnets, VPN, or guest Wi-Fi where multicast can't —
and Cmd/Ctrl-clicking devices lets you send the same files to
several at once in a single batch.
✨ New
- Received-files popup overhaul — search
field, sort dropdown (Newest / Oldest / Name / Largest),
grid ↔ list view toggle, and zoom in grid mode (Ctrl+scroll
on desktop, two-finger pinch on mobile). Available on macOS
native, Windows / Linux sub-window, and the Android / iOS
dialog — all four surfaces share the same persisted
preferences.
- Add device by IP. Small icon next to
"Nearby Devices" opens a dialog where you type a peer's
address. Useful when multicast can't reach the other side
(different subnet, VPN, guest Wi-Fi). Saved peers
re-register on every launch and show a "MANUAL" badge.
- Multi-device send. Cmd-click (macOS) or
Ctrl-click (Windows/Linux) device tiles to multi-select,
pick files once, send to every selected peer in one
batch. PIN prompts queue one at a time so you don't get
five popups stacked.
- Local IP shown in the discovery row.
Read off "what address do I tell the other side?" without
opening Terminal.
✦ Polish
- Launch-at-startup on Windows properly
isolated between Debug and Release builds; entry now
cleans up on uninstall.
- Android Debug builds install side-by-side with
the Play Store release — no more
INSTALL_FAILED_UPDATE_INCOMPATIBLE when
sideloading a development APK.
- Better error messages when adding a peer by IP
(timeouts, "no route to host", "connection refused" all
translated into plain English).
- Received-files Windows sub-window is now actually
resizable (the spawn was incorrectly using a frameless
fixed-size variant).
🐛 Fixes
- Popup self-stretching across the screen on every view
toggle (macOS native) — runaway feedback loop in the
grid layout, fixed at the constraint level.
- Floating popup needed two clicks to do anything when it
wasn't focused — first click is now properly
click-through on cards, drag handles, and action
buttons.
1.0.8
2026-05-03
Tray menu now has a "Report a Bug" entry — your description
plus the last 200 log lines (with paths, LAN IPs and PINs
scrubbed client-side) ships straight to us. Editor's Share
dropdown also stays in sync with discovery now: a peer
joining the network mid-edit shows up immediately instead of
only after closing and reopening the editor.
✨ New
- In-app bug reporting. Tray menu →
Report a Bug…. Pick a category, describe what
happened, see the scrubbed log preview before sending.
Paths, LAN IPs, device fingerprints and PINs are stripped
on your device — the server only ever sees what's in the
preview.
- Open Received Files entry in the tray
menu — drag old arrivals out without waiting for a new
transfer.
✦ Polish
- Editor's Share menu updates live. A
new peer joining the network mid-edit now appears in the
dropdown immediately. Both the native macOS editor and
the Windows/Flutter editor get the live update.
- Tray menu reorganised: file-list actions on top, admin
actions (Settings, Report a Bug, Quit) at the bottom.
1.0.7
2026-05-02
iOS is in TestFlight Beta — devices, files and clipboard text
now sync between iPhone, iPad, macOS, Windows and Android over
the same Wi-Fi. Discovery is also more reliable: devices no
longer randomly disappear from the list every minute, since
multicast on Wi-Fi drops packets in bursts (especially when the
app is tray-resident on macOS or Android slips into doze).
The 30-second auto-remove that was firing false positives is
gone; device list is now sticky between manual refreshes.
✨ New
- iOS is here. TestFlight public Beta — open
testflight.apple.com/join/fgWySS2f
on your iPhone or iPad to join. Same Wi-Fi peer discovery
you know from desktop; clipboard text syncs across iOS too.
⚒ Fixed
- Discovery list is sticky. Devices stay
until you hit Refresh (which restarts discovery from a clean
state) or the app restarts. No more "I just opened it and
already the other device is gone."
- Slightly more aggressive announce cadence to compensate
for multicast packet loss on busy / mesh Wi-Fi networks.
✦ Polish
- macOS menu-bar icon is now a proper
transparent template — the droplet fills the menu bar and
tints with the system foreground colour, instead of looking
small inside a squircle background.
1.0.6
2026-05-02
macOS App Sandbox fix: picking a custom Storage Folder now
actually works (previously TestFlight + DMG users saw their
choice silently get redirected back to the default). Default
save folder moved to ~/Downloads/LocalDrop — much
easier to find than the deep ~/Library/Containers/…
path the v1.0.5 sandbox was rewriting it to. Auto-copy edited
screenshots to clipboard now defaults to ON.
⚒ Fixed (macOS)
- Custom Storage Folder is honored across launches.
The app now persists a security-scoped bookmark for any
folder you pick, so writes succeed even after relaunch.
Previously the sandbox dropped the grant once the app
restarted and screenshots silently went elsewhere.
- Default save folder is now
~/Downloads/LocalDrop
(instead of ~/LocalDrop, which the sandbox
redirected deep into ~/Library/Containers/…).
Existing files in the old container location are NOT
migrated automatically — copy them over manually if you
want them in one place.
- Settings storage-folder subtitle refreshes
immediately after picking a new folder. No more
"switch to a different tab and back" dance to see the
updated path.
✦ Changed
- Auto-copy edited screenshot to clipboard now
defaults to ON. The editor only opens because you
just captured something — overwriting clipboard with that
image is what people overwhelmingly want. Flip it back
off in Settings → Screenshot if you'd rather keep your
clipboard untouched.
1.0.5
2026-05-01
Region capture on macOS now works correctly when your displays
are stacked vertically — previously the selection overlay for
the secondary monitor went off-screen and you couldn't drag
on it. Esc reliably cancels the picker even when another app
was focused. Auto-copy tooltip in the editor toolbar no longer
sits flush against the button.
⚒ Fixed (macOS)
- Region capture on the secondary display —
the overlay was being placed off-screen above both monitors
on vertically-stacked dual-monitor setups. Window position
now uses global coordinates so each display gets its own
overlay at the right spot.
- Esc cancels the region picker reliably —
even when another app had focus when the hotkey fired.
Added a global key monitor as fallback and made the overlay
under the cursor the key window instead of always picking
the primary display's overlay.
- Auto-copy toolbar tooltip spacing — the
two-line tooltip ("Auto-copy: ON / Copied on every save")
was hugging the button. Now clears it by the same gap as
every other tooltip.
1.0.4
2026-04-30
Editor auto-copies your edited image to the clipboard so you
can paste straight into chat. Right-click the editor's preview
thumbnail for quick Copy / Open in Finder. macOS DMG is now
Developer ID-signed and notarized — first launch from a
downloaded DMG no longer shows the Gatekeeper "Apple cannot
check it for malicious software" warning.
✦ New
- Editor auto-copies edited image to clipboard
(Windows + macOS) — turn on the toggle in Settings →
Screenshot, or flip the per-session button in the editor
toolbar (clipboard icon, between the colour picker and the
help button). Image lands on the clipboard the moment the
editor opens and after every annotation, so you can paste
it straight into Discord / Slack / Telegram with Cmd-V
without saving a file.
- Right-click the editor's preview thumbnail (macOS)
— four quick actions: Copy image, Copy path, Open in Finder
(highlights the file, not just the folder), Open with
default app.
✓ Fixes
- Region capture spans secondary displays (macOS)
— earlier builds anchored the picker to the primary display
only, so dragging across to a second monitor stopped at
the bezel and produced empty PNGs. Now selects across all
attached screens correctly.
Under the hood (macOS)
- DMG is now Developer ID-signed and
notarized. First launch from a downloaded DMG no
longer shows the Gatekeeper "Apple cannot check it for
malicious software" warning. (Note: macOS still tracks
Screen Recording / Full Disk Access separately if you
install both the DMG and the TestFlight build on the
same Mac — that's a fundamental Apple limitation, not
something a developer can fix. Pick one install source
to avoid double permission prompts.)
Platforms
- macOS DMG + TestFlight. Windows / Android binaries unchanged
from 1.0.2.
1.0.3
2026-04-29
Window size memory fix across all sub-windows (editor,
settings, received files popup, receive prompt) plus a
Settings UX polish on Windows. macOS gets the bundle-name
fix that unblocks Screen Recording grants.
✓ Fixes
- Sub-windows now remember your resized size
— drag the editor / Settings / received-files popup to
the size you like, close it, reopen it, and it comes back
at that exact size. Earlier builds either silently reset
to the canonical default or shrank by a fraction every
cycle on high-DPI displays. Now stable across captures.
- Bundle name on macOS =
LocalDrop.Dev.app
on every install path (DMG and TestFlight). Pre-1.0.3
TestFlight builds shipped as local_drop.app,
which surfaced as a separate Privacy & Security entry
and broke Screen Recording grants when both DMG +
TestFlight installs were on the same machine.
Polish
- Settings > General layout (Windows) —
on a comfortably wide settings window, the Device name /
Language / Theme / Receive password / Storage folder /
Port controls now sit on the same row as their label
instead of stacking under it. Drops back to the stacked
layout when the window is dragged narrow. Focused text
fields show a visible 2px primary ring instead of no
change on click; tapping outside the field drops focus
cleanly.
Platforms
- Windows installer + portable ZIP, macOS DMG + TestFlight.
Android binaries unchanged from 1.0.2.
1.0.2
2026-04-28
Speaks your language now. Plus a brand-new native macOS image
editor and public TestFlight betas for iOS & macOS.
✦ New
- 10 languages — English, Tiếng Việt, 简体中文, Español, Français, Deutsch, 日本語, 한국어, Português (BR), Русский. Pick from Settings → General.
- Native macOS image editor — rewritten in SwiftUI. Faster open, smoother zoom & pan, Apple-native Share menu (AirDrop, Mail, Messages…), click empty desktop to capture full screen.
- iOS & macOS TestFlight — public beta links on the download page; auto-update once installed.
- JPG quality tiers — choose anywhere from 30% to 100% with auto-downsampling for ultra-light shares.
- Keyboard shortcuts sheet — press
? in the editor to see every shortcut.
✓ Fixes & polish
- Editor:
Esc now commits the text draft (was: discarded it), Enter inserts a newline.
- Editor: cursor changes to grab / grabbing while panning, default arrow elsewhere.
- Editor: cancel-without-saving deletes the temp capture so it doesn't pile up in
Downloads/LocalDrop.
- Tray: Open LocalDrop folder now opens the base folder, not the
Received sub-folder.
- Tray: removed the Auto-accept toggle (live in Settings instead — one source of truth).
- Windows installer: more reliable kill-before-install (8 s polling, full process tree, longer DLL-release wait) so updates land cleanly.
Platforms
- Windows 10/11 (x64), macOS 11+ (Intel & Apple Silicon), Android 7+ sideload, Android Play Store (closed test), macOS App Store (TestFlight beta), iOS (TestFlight beta).
1.0.1
2026-04-26
Windows-only patch release — emergency fix for dead top-button rows.
✓ Fixes
- Windows: top button row of every popup (and the main window) was completely unclickable in v1.0.0 — fixed by repairing the gesture arena inside
SubWindowDragToMove.
1.0.0
2026-04-22
The “I'm lazy” release: everything you need to send a screenshot,
recording, file or clipboard snippet lives in one app, one click away.
✦ New
- Drag-from-popup — incoming files appear in a popup you can drag straight into Discord, Slack or email. No Finder detour.
- Screenshot & annotate — capture full screen, window, or a region. Mark up with arrows, text, shapes. Send in one click.
- Screen recording — record a clip and share over LAN instantly. No upload, no watermark, no length cap.
- Shared clipboard — copy on one device, paste on another. Text syncs across macOS, Windows and Android.
- Native OS context menu — right-click any file in Finder / File Explorer → Send via LocalDrop → pick device.
⚡ Performance & privacy
- Direct HTTP transfer over LAN — speed depends only on your network, no bandwidth caps.
- UDP multicast device discovery finishes within ~5s. No IP entry, no pairing.
- Files never leave your network. No middleman server, no account, no tracking.
- Optional password gate before accepting files — prevents accidental sends in busy offices.
- No artificial size limit — send 1 GB, 10 GB or 100 GB folders.
Platforms
- Windows 10/11 (x64), macOS 11+ (Intel & Apple Silicon), Android 7+ sideload.
- iOS coming soon — TestFlight opens after this release.
Earlier releases aren't tracked here — this page started at v1.0.0.
Full source and commit history:
gitlab.com/sukidesign/localdropapp.