github axpdev-lab/aeroftp v3.6.4
AeroFTP v3.6.4

latest releases: v4.0.4, v4.0.3, v4.0.2...
one month ago

[3.6.4] - 2026-04-25

Patch release: Windows keystore export fix + autostart UX + update opt-out

Small but high-impact patch release driven by two community bug reports (issues #123 and #124). The headline fix unblocks the Settings → Backup → Export Keystore flow on Windows, where every export was leaving an orphan .tmp file behind and surfacing an "Access is denied (os error 5)" error. Three quality-of-life settings round out the release.

Fixed

  • Windows keystore export os error 5 (issue #124) — Exporting a vault backup from Settings → Backup raised "IO error: Access is denied. (os error 5)" on every Windows machine and left an aeroftp_keystore_*.tmp file in place of the final .aeroftp-keystore. Root cause: the atomic write helper opened the freshly-written temp file with File::open (read-only on Windows) and then called sync_all, which on Windows maps to FlushFileBuffers and requires a GENERIC_WRITE handle. The flush failed before the rename ran. Fix: keep the existing write handle through flush + sync_all and gate the parent-directory fsync to Unix only, since File::open on a directory needs FILE_FLAG_BACKUP_SEMANTICS on Windows and is a no-op for durability there anyway.
  • Windows internal Terminal frozen on Start (issue #125) — Opening AeroTools → Terminal → Start on Windows produced a blinking cursor with no shell prompt and no response to keystrokes; the only escape was restarting the app. Root cause: the launcher passed -Command "function prompt { ... }" to PowerShell to inject a colored prompt, but on Windows 10 with the default ExecutionPolicy the parser stalled inside -Command, spawn_command never returned, the Tauri invoke awaited forever, the frontend never received a session id, and every keystroke was silently dropped at the connected-tab gate. Fix: drop the prompt customization on Windows and start PowerShell as a plain -NoLogo interactive shell. Linux and macOS were unaffected. A user-level colored prompt can be added via $PROFILE if desired.
  • NSIS installer now reports the PATH change in the install log (issue #125 follow-up) — After registering $INSTDIR in HKCU\Environment\Path, the installer now prints "Open a NEW terminal to run 'aeroftp-cli'" so users who installed via WinGet/UniGetUI in an already-open PowerShell are not surprised when aeroftp-cli is "not recognized" — existing shells cache %PATH% at launch and need to be reopened.

Added

  • Password strength meter on the keystore backup form — The Export Keystore section now shows the same animated 4-segment strength bar already used by AeroVault, with a 0–100 score and a colour-coded label (Weak/Fair/Strong/Excellent). Reuses PasswordStrengthBar so future tweaks land in both places at once.
  • Start minimized to tray on autostart (issue #123) — New "Start minimized to tray" checkbox under Settings → General → Startup (visible only when "Launch on system startup" is enabled). When the OS launches AeroFTP from the autostart entry, the main window stays hidden and only the tray icon appears, matching the behaviour expected from background sync apps. Manual launches (double-click on the desktop or Start menu shortcut) always show the window. Detection uses a new --autostart argument passed by tauri-plugin-autostart and surfaced to the frontend via is_autostart_launch. Default off — existing users see no change.
  • Don't check for updates toggle (issue #123) — New checkbox under Settings → General → Software Updates that disables both the 5-second startup check and the periodic 24-hour check. The manual "Check for Updates" button continues to work, so the option simply gives users who manage AeroFTP through external package managers (WinGet, AUR, Snap auto-refresh) a way to opt out of the in-app update prompts and bandwidth.

Changed

  • NSIS installer no longer reinstates the desktop shortcut on every upgrade (issue #123) — On a fresh install the bundler still creates Desktop\AeroFTP.lnk as before. On an upgrade, however, the installer now snapshots the desktop shortcut state in the pre-install hook and, if the user had previously deleted the shortcut, removes the one the bundler just recreated. Users who keep the shortcut see no change.
  • Windows NSIS post-install hooks now actually run (issue #125 root cause) — From v3.6.2 onward the installer hook file defined the four lifecycle hooks as CUSTOM_{PRE,POST}_{INSTALL,UNINSTALL}, but Tauri's bundled installer.nsi invokes them gated on !ifmacrodef NSIS_HOOK_{PRE,POST}{INSTALL,UNINSTALL}. The macro names didn't match, so !ifmacrodef returned false and every hook in the file was skipped silently — the HKCU PATH registration, the .aerovault file association, the VC++ Runtime bootstrap, the new desktop-shortcut snapshot logic — none of it ran in any shipped Windows installer. Renaming the macros to the names Tauri actually checks for activates all of them in v3.6.4. Existing installs with no PATH entry will get one on the next upgrade. Diagnosed thanks to a Windows-side investigation reported in docs/dev/aeroftp-windows-path-hook-bug-report-2026-04-25.md.
  • Silent uninstall preserves user data — The pre-uninstall hook prompts the user via three MessageBox dialogs to selectively remove saved servers, AI chat history and cache. Now that the hook actually runs, those dialogs would have surfaced during every WinGet upgrade (which silently uninstalls the old version before installing the new one), either popping blocking modals or — depending on Windows version — defaulting to "yes" and wiping data. The hook now bails out early via IfSilent, preserving everything when not in interactive mode.
  • Cross-Profile Transfer pre-selects the active server — When the dialog is opened from the remote pane while connected, the source profile and source path are now pre-populated from the active session, so the most common flow (copy from the server you're already looking at to another saved server) takes one click instead of three. Source/destination filtering — already in place — still excludes the chosen source from the destination list.

Translations

  • All four new settings labels and descriptions translated across the 47 supported locales.

Downloads:

  • Windows: .msi installer, .exe, or .zip portable (no installation required)
  • macOS: .dmg disk image
  • Linux: .deb, .rpm, .snap, or .AppImage

Download AeroFTP

Don't miss a new aeroftp release

NewReleases is sending notifications on new releases.