Release notes
For download links and the current version on each platform, https://fortswift.com/download is authoritative. Every download URL carries an explicit version number.
4.0.4 — coming
Not yet released
4.0.4 is in preparation and no installer has been published. What follows is the planned set of changes; the actual release is authoritative. The latest client you can download today is 4.0.3.
Client
Device grants — the new daily path. The Trust Center gains a Device grants · remote control permission (「设备授权 · 远控权限」) panel:
- request remote control permission directly from the client — the local controller key signs a one-time challenge to prove possession;
- an account owner or administrator approves it, either on the portal's Device grants (「设备授权」) page or on the same screen in the client, using the account code;
- the state is visible throughout: not requested → pending → awaiting issuance → authorized (with expiry) → rejected / expired (can request again) / revoked;
- a device that is already authorized no longer shows a resubmit entry point.
See device grants.
The controller governance entry point stays, but narrowed. The former Controller approvals moves into the Trust Center's Governance controllers (「治理控制端」) section and is for account governance only; see controller governance.
Finer-grained error messages. "This device is already authorized", "awaiting issuance", "quota exceeded (capacity can be purchased)", "signing service unavailable (with reason)", "invalid account code", "account owner or administrator approval required" and "device grants not enabled" are now distinguished from each other; see troubleshooting.
Stricter handling of the account code. The input is cleared immediately after use, and if approval hits a signing-service outage the interface falls back to "awaiting issuance" rather than falsely reporting success.
Server
- Issuance failures are classified by stage — the reason is written to the audit log and passed back, and retryable failures are no longer treated as terminal;
- device grant validity changed to 30 days (configurable, 90-day ceiling);
- device-grant callbacks must carry an exact sequence number and a plausible validity period;
- approve, reject and revoke all require the account owner or an administrator;
- a duplicate request idempotently returns "already authorized";
- the portal gains a Device grants page (pending / authorized / history), where approving, rejecting and revoking all need the account code.
Known scope
- Device grants in this version have all-hosts scope; per-host scope comes in the next stage.
- The v4 trust package for Windows and Linux hosts follows later; until then they stay on the previous-generation trust path.
4.0.3
- Client build: 2026-09-03 (macOS / Windows; Android to follow)
- Server and portal: 2026-09-02
Client
Controller authorization in one step. Trust Center → Enable control permission (「启用控制权限」) submits the request directly; if the signed-in user is the account owner, entering the account code in the client completes it without a round trip through the back office. Requests from non-owners still go to the back-office approval page.
Multi-session tabs. Up to 8 concurrent sessions:
- Ctrl / Cmd + 1 – 8 switches tabs;
- hidden tabs do not pull video frames;
- keyboard focus follows the active tab;
- tabs close only from the close button on the tab — Ctrl/Cmd+W was removed, because it was being sent to the remote machine.
See remote sessions.
New home screen. A device card grid (2 or 3 columns by window width), platform icons (macOS / Windows / Linux / Android / iOS), and a unified identity card and status bar.
Server and portal
Passkey plus account code enforced at sign-in. Once enabled, an account that clears two-factor but has no passkey is asked to add one at sign-in (Touch ID / Face ID / Windows Hello / security key). Adding it signs you in and switches password sign-in off for that account; from then on sign-in is passkey plus account code. 10 one-time recovery codes are shown, once. See accounts and sign-in.
The portal sign-in page is now written in the customer's voice — it previously showed "administrator sign-in" by mistake.
Port forwarding removed (in progress).
Session accounting and node telemetry (in progress) — sessions are reported by the nodes, so Session history and Nodes in the back office start showing real data, and the audit log is de-noised.
You must sign in again after this upgrade
The security upgrade invalidates all existing sessions, so every signed-in device has to sign in once more.
About 4.0.2
The 4.0.2 server and back office shipped, with the same content as the 4.0.3 server section. The 4.0.2 macOS client package was void — it shipped without the account public key and could not connect. Do not use it; go straight to 4.0.3.
Versions and platforms
| Platform | Current version | Package |
|---|---|---|
| macOS (Apple Silicon) | 4.0.3 | .dmg |
| Windows (x64) | 4.0.3 | .zip |
| Android (arm64) | 4.0.1 | .apk |
| Linux | Not released | — |
Android trails the desktop clients
The Android client is still 4.0.1 while the desktop ones are at 4.0.3. Android is controller-only and cannot act as a host.