Repository navigation
Releases: luonghongthuan/swiftdesk-releases
Release list
SwiftDesk 0.17.0
SwiftDesk 0.17.0
Windows service mode, complete
- A per-user SwiftDesk app now starts in every signed-in session (tray, app window, AI Terminal, receiving files) while the service shows the sign-in screen, lock screen and UAC prompts.
- Service updates install by themselves (signed, verified, rolled back on failure) — no more UAC prompts for updates.
- Local administration on every computer now needs a per-user key; another account on the same PC cannot read the PIN or change roles.
Smoother RDP
- RDP from the web console and the desktop app is streamed as H.264 video: about 10–30× less bandwidth and several times the frame rate when scrolling or playing video. Tiles remain as an automatic fallback.
Native viewer
- Alt+Tab, the Windows key, Win+R/E/D, Alt+F4 and Cmd+Tab go to the remote computer while the viewer is focused. Ctrl+Alt+Home releases them.
SwiftDesk Cloud
- Invite-only accounts with per-account limits; every account sees only its own computers.
- TURN relay support for networks where a direct connection is not possible.
- Self-hosted crash reports (on/off in Preferences); reports never include PINs, passwords, tokens, clipboard, typed text, file names or IP addresses.
Security
- A full security audit was done; fixes include: saved passwords bound to their destination, cloud demotions take effect on the host, gateway tokens limited to gateways, bounded queues and downloads, signed update manifests that cannot be replayed, no secrets in login URLs, stricter cloud sessions (re-authentication for sensitive changes, 14-day maximum), rate limits on public endpoints.
SwiftDesk 0.16.0
SwiftDesk 0.16.0 — RDP, VNC and SSH from the web console
- Open RDP, VNC and SSH entries from your address book straight from the web console (desk.platformforge.dev/desk), each in its own tab, through one of your SwiftDesk computers acting as a gateway. "Auto" picks the gateway that can reach the target fastest and remembers it.
- Same tab behaviour as SwiftDesk desks: stays connected, reconnects by itself, stops drawing while hidden, one tab per entry. SSH keeps its terminal for 10 minutes across network drops.
- Passwords from the address book are decrypted only in your browser and sent once, encrypted, to the gateway; nothing is stored or logged.
- Gateway safety: owner only; RDP 3389, VNC 5900-5999, SSH 22 (more ports configurable); private, LAN and tailnet addresses only unless you allow public ones; loopback, link-local and the gateway itself are always refused; every connection is in the activity log. Preferences: "Act as a gateway for RDP/VNC/SSH" and "Allow gateway to public addresses". In Windows service mode SSH is refused.
SwiftDesk 0.15.0
SwiftDesk 0.15.0 — web console
- New web console on SwiftDesk Cloud (/desk): one compact list of your computers merged with your address book, search, favourites, online status and connection badges; per-computer menu for sessions, approvals, paired devices, PIN, access and activity log.
- Every computer opens in its own browser tab and stays connected: hidden tabs stop the video (the host sends a small thumbnail every few seconds instead) and come back in about 0.1 s; tabs reconnect by themselves after network drops or sleep; one tab per computer.
- Health panel in each tab: memory, decoded frames, bitrate, round-trip time.
- Web control toolbar is compact: main buttons visible, the rest under More. A "What's new" note appears once per version.
- The host sends no-cache headers, so browsers always load the current web client after an update.
- Changing the PIN or a device role from the web console asks you to confirm with your authenticator or passkey.
- Fix: after six sessions (including reconnects) a host could refuse new connections until restarted.
SwiftDesk 0.14.0
SwiftDesk 0.14.0 — full review: security, smoothness and convenience
Security
- Windows service mode: the local HTTP admin API is closed in the SYSTEM helper (any local process could read the PIN before).
- Demoting or revoking a device takes effect immediately on its open sessions.
- The first device to pair also waits for approval when "Ask approval" is on.
- Wrong-PIN lockouts never block already paired devices; the error shows the real wait time.
- The Android/iPad app never stores secrets in plain preferences when the keychain fails.
- https/wss addresses stay encrypted end to end (no silent downgrade).
Smoother on real networks
- Lost-packet repairs are paced and counted by congestion control; keyframe bursts are capped.
- The selected frame rate is enforced on every capture path; the native viewer drops stale video instead of lagging behind.
- Brief network drops (ICE disconnects) no longer freeze the session; encoder failures recover by themselves.
- Lossless text refinement follows bitrate changes.
Easier to use
- Web client: monitor picker, received-clipboard panel when the browser blocks clipboard writes, reliable reconnects, no stuck keys or mouse buttons, one upload queue.
- Android/iPad: re-enter the PIN right from the error screen, swipes no longer click, Backspace key, IPv6 addresses.
- Native viewer: a clear error screen with Retry instead of a window that just closes.
- Desktop preferences keep what you are typing; admin actions show errors instead of failing silently.
- More of the app in Vietnamese: pairing, reconnect messages, first run, cloud sign-in.
Reliability
- host.json is written atomically with a backup; received files are written to temporary files and never left half-done.
SwiftDesk 0.13.1
SwiftDesk 0.13.1
Faster sign-in on a locked computer
- The lock banner's main button is now "Type clipboard + Enter": it wakes the display, types your clipboard text and presses Enter in one go, so you sign in with a single click.
- After that the banner shrinks to a small "This computer is locked" chip at the top, so it no longer covers the password field. The banner also has a close (×) button; click the chip to bring it back.
- The toolbar's "Type clipboard text" button is unchanged (types only, no Enter) for other fields.
- Same behaviour in the web client, the native viewer and the Android/iPad app.
SwiftDesk 0.13.0
SwiftDesk 0.13.0
Locked screens, made clear
- When the remote computer is locked, at the sign-in window, showing a Windows security prompt or with its display asleep, the native viewer, the web client and the Android/iPad app show "This computer is locked" instead of an unexplained blue or black screen.
- Wake: turns the remote display back on.
- Type clipboard text: copy a password (or any text) from your own password manager, press the button, and the host types it on the remote computer in one go. Up to 4096 characters; disabled in view-only; the content is never logged or stored by SwiftDesk.
Windows service mode (preview)
- New SwiftDesk-Service-Setup-Windows.exe (needs administrator): runs SwiftDesk as a Windows service so you can see and control the Windows sign-in and lock screens, UAC prompts, and send a real Ctrl+Alt+Del, even before anyone signs in.
- In service mode the app window, outgoing VNC/RDP/SSH, AI Terminal, incoming files and auto-install are turned off for now; they come back in a later release. The normal installer (SwiftDesk-Host-Setup-Windows.exe) is unchanged and remains the default.
Also
- The service keeps its data in a folder only SYSTEM and Administrators can access; a pre-existing folder with other owners is moved aside.
SwiftDesk 0.12.1
SwiftDesk 0.12.1
macOS install made simple
- SwiftDesk now lists itself in System Settings: right after installing, macOS asks for Screen Recording and Accessibility, and "SwiftDesk" is already in both lists. Just switch it on.
- After you allow Screen Recording, SwiftDesk restarts by itself within a few seconds. Before, the host kept showing no screen until it was restarted by hand.
- The package installs exactly one app, /Applications/SwiftDesk.app, and removes older copies (SwiftDesk Host, the old SwiftDesk app, ~/Applications/SwiftDesk).
- Every build is signed with the same certificate, so macOS keeps the permissions across updates.
Step-by-step guide: https://swiftdesk.platformforge.dev/guide#vi-macos
The Android app is unchanged from 0.12.0.
SwiftDesk 0.12.0
SwiftDesk 0.12.0
New
- Scan network: the address book finds SwiftDesk computers on your home network and tailnet, shows OS, version and AI Terminal, and adds one with the PIN in one tap. After pairing it lists the Claude Code, Codex and Cursor tools and sessions on that computer. Preferences: "Advertise on the network" (on by default).
- Native viewer is now included and used by default on the desktop: clipboard, audio, drag-and-drop file send, screen switching, view-only, fullscreen, special keys, a toolbar with stats, and automatic reconnect. If it cannot start, the app falls back to the WebView window. One PIN for both.
Smoother on weak networks
- Encoder rate control: bitrate changes apply on the next frame; typing costs about 1-3 kbit per frame instead of about 100; text gets sharp after you stop; resolution changes no longer freeze.
- FlexFEC: lost packets are rebuilt without waiting for a resend, on by default when the link loses packets (Chrome and the desktop viewer).
- Keyframe requests from the viewer reach the host again; the bandwidth estimate follows what the link really carries and sessions start at a safe rate.
Fixes
- The native viewer does not send your clipboard while view-only is on.
SwiftDesk 0.11.1
SwiftDesk 0.11.1
Fixes
- macOS installer: the app always lands in /Applications/SwiftDesk.app. Previously, upgrading over the old SwiftDesk app could place the new app in a "SwiftDesk-N.localized" folder, so it did not start after installation.
- Auto-update: checks the home update server first, then https://swiftdesk-updates.platformforge.dev, then GitHub, so updates also arrive away from home.
SwiftDesk 0.11.0
SwiftDesk 0.11.0
Smoother and sharper
- Lossless refinement: text and UI become pixel-exact about 200 ms after they stop changing (like RDP's progressive codec), within a bandwidth budget.
- Damage-aware capture: unchanged frames are skipped; the host reports changed regions.
- Transport: transport-wide congestion control with a delay+loss estimator, RTX retransmissions, keyframe pacing, cursor on its own unreliable channel. On a 3 Mbps link the picture now keeps moving (about 40 fps, 83 ms) instead of stalling.
Easier to use
- Toolbar: pin/auto-hide, minimize to a small handle, drag anywhere and snap to an edge or corner (web, iPad, desktop RDP/VNC/SSH windows, phone app).
- Preferences tab in the SwiftDesk window (general, security, display & quality, cloud, updates).
- Address book: Duplicate, Copy address, Copy connect link.
- Signed automatic updates (check every 6 hours, Windows installs silently when enabled; macOS pkg installs open the installer).
Downloads: Windows SwiftDesk-Host-Setup-Windows.exe, macOS 12+ SwiftDesk-macOS.pkg, Android SwiftDesk-Android-arm64.apk.
Guide: https://swiftdesk.platformforge.dev