Releases: 5djr/TunnelDesk
Releases · 5djr/TunnelDesk
v3.0.0
v0.2.9
TunnelDesk v0.2.9 — Serial Port support
v0.2.8
chore: release v0.2.8
v0.2.7
TunnelDesk v0.2.7
v0.2.6
chore: release v0.2.6
v0.2.5
chore: release v0.2.5 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.2.4
fix: RDP window not appearing on Windows — revert storeCredential to …
TunnelDesk v0.2.3
What's new in v0.2.3
Enterprise features
- Microsoft Entra ID / Azure AD sign-in — enter your Azure App Registration Client ID + Tenant ID in Settings → Account and sign in with Microsoft (PKCE OAuth2, in-app browser, tokens stored encrypted on-device)
- Organization config sync — admins publish a
tunneldesk-policy.jsonto any HTTPS endpoint; clients poll it and display org-managed connections in the sidebar with a lock badge - Group Policy enforcement — Windows:
HKLM\SOFTWARE\Policies\TunnelDesk; Linux:/etc/tunneldesk/policy.json
macOS support
- RDP via Microsoft Remote Desktop (App Store, free)
- SSH / Telnet via Terminal.app
- Native macOS app menu (Cmd+C/V/Q/W/M)
- DMG + ZIP builds (x64 + arm64) — attached by CI below
Security fixes
- RDP credentials stored via PowerShell env var (not cmdkey command-line args)
sanitizePathrejects../path traversal in SSH key paths- Org-managed connections sanitized with same validation functions as user connections
Downloads
| Platform | File |
|---|---|
| Windows | TunnelDesk 0.2.3.msi (installer) |
| Windows | TunnelDesk 0.2.3.exe (portable) |
| Linux | AppImage + deb — attached by CI |
| macOS | DMG + ZIP — attached by CI |
Linux and macOS artifacts are built by GitHub Actions and appear in this release automatically within minutes of the tag push.
v0.2.2 — Update Notifications & Live OS Icons
What's new in v0.2.2
Added
- Update notification banner — on startup TunnelDesk silently checks GitHub Releases; if a newer version is found, a dismissible banner appears at the top with a direct download link. Single HTTPS request on launch, no background service.
- Live OS icon in sidebar — the detected OS/distro icon now appears in the sidebar immediately after an SSH session connects, without requiring an app restart.
Fixed
- Console window flash — mstsc.exe spawns now include windowsHide: true, consistent with every other background process.
- Settings sync across windows — settings saved from any window (e.g. OS cache from a terminal window) are broadcast to all open windows so the main window reflects them instantly.
Downloads
| File | Type |
|---|---|
| TunnelDesk 0.2.2.msi | Standard installer — recommended, no admin required |
| TunnelDesk 0.2.2.exe | Portable — runs without installing |
Requirements: Windows 10/11 x64 · cloudflared in PATH
v0.2.1 — Bug Fix Release
v0.2.1 — Bug Fix Release
All bugs found by a multi-agent automated audit of the v0.2.0 changes.
Fixes
Critical
- Terminal data race —
createTermSessionpreviously blocked the IPC response until OS detection finished (up to 2 s), causing early terminal output (MOTD, login banners) to be silently dropped. The IPC now resolves immediately; OS info arrives via a separatessh-os-detectedpush event with zero impact on terminal throughput.
Medium
- SSH mid-session error ignored —
client.on('error')after a session was established calledreject()(a no-op on a settled Promise) but never calledonClose, leaving the terminal tab stuck in a connected state. It now explicitly callsonCloseso the tab closes correctly. - TCP socket leak on unresponsive servers —
closeSessionsForConnectionwas missing the 5 sclient.destroy()fallback thatsshCloseSessionalready had. Fixed. - Import loses jump host — Importing a previously exported connection file discarded
jumpHostandjumpPortfields. Fixed. - HTTP test misleading on redirects — The ⚡ Test button reported
HTTP 301 ✓(green) for endpoints that always redirect, never actually testing the destination. It now follows one redirect before reporting.
Minor
- OS detection exec channel leak — When the 2 s detection timeout fired, the remote
execstream was left open. The stream is now destroyed on timeout. trcommand could corrupt unusual distro IDs —tr -d '"ID= 'deleted any character in that set from the distro name. Replaced withsed 's/^ID=//;s/"//g'which strips only the literal prefix and quotes.- osCache grows unbounded —
settings.jsonosCache was accepted with no entry limit. Now capped at 500 entries.